// Copyright 2012 Emilie Gillet.
//
// Author: Emilie Gillet (emilie.o.gillet@gmail.com)
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// 
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
// 
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
// 
// See http://creativecommons.org/licenses/MIT/ for more information.
//
// -----------------------------------------------------------------------------
//
// Resources definitions.
//
// Automatically generated with:
// make resources


#include "braids/resources.h"

namespace braids {

static const char str_dummy[] = "dummy";


const char* string_table[] = {
  str_dummy,
};

const uint16_t lut_resonator_coefficient[] = {
   65535,  65535,  65535,  65535,
   65535,  65535,  65535,  65535,
   65535,  65535,  65535,  65535,
   65535,  65535,  65535,  65535,
   65535,  65535,  65535,  65535,
   65535,  65535,  65535,  65535,
   65535,  65535,  65535,  65535,
   65535,  65534,  65534,  65534,
   65534,  65534,  65534,  65533,
   65533,  65533,  65532,  65532,
   65532,  65531,  65531,  65530,
   65529,  65529,  65528,  65527,
   65526,  65525,  65523,  65522,
   65520,  65518,  65516,  65514,
   65511,  65508,  65505,  65501,
   65497,  65492,  65487,  65481,
   65475,  65467,  65459,  65449,
   65439,  65427,  65414,  65399,
   65382,  65363,  65342,  65318,
   65292,  65262,  65228,  65191,
   65149,  65101,  65048,  64988,
   64922,  64847,  64762,  64668,
   64562,  64443,  64310,  64160,
   63992,  63804,  63593,  63356,
   63091,  62794,  62461,  62088,
   61670,  61202,  60677,  60091,
   59435,  58701,  57881,  56964,
   55941,  54799,  53526,  52107,
   50528,  48773,  46824,  44662,
   42268,  39623,  36704,  33492,
   29966,  26107,  21898,  17325,
   12380,   7061,   1374,      0,
       0,
};
const uint16_t lut_resonator_scale[] = {
       1,      1,      1,      1,
       1,      1,      1,      1,
       1,      1,      1,      1,
       1,      1,      1,      1,
       1,      1,      1,      1,
       1,      2,      2,      2,
       2,      2,      3,      3,
       3,      4,      4,      4,
       5,      5,      6,      6,
       7,      8,      8,      9,
      10,     11,     12,     13,
      14,     16,     17,     19,
      20,     22,     24,     27,
      29,     32,     35,     38,
      41,     45,     49,     54,
      58,     64,     70,     76,
      83,     90,     98,    107,
     117,    128,    139,    152,
     166,    181,    197,    215,
     234,    255,    256,    256,
     256,    256,    256,    256,
     256,    256,    256,    256,
     256,    256,    256,    256,
     256,    256,    256,    256,
     256,    256,    256,    256,
     256,    256,    256,    256,
     256,    256,    256,    256,
     256,    256,    256,    256,
     256,    256,    256,    256,
     256,    256,    256,    256,
     256,    256,    256,    256,
     256,    256,    256,    256,
     256,
};
const uint16_t lut_svf_cutoff[] = {
      17,     18,     19,     20,
      22,     23,     24,     26,
      27,     29,     31,     33,
      35,     37,     39,     41,
      44,     46,     49,     52,
      55,     58,     62,     66,
      70,     74,     78,     83,
      88,     93,     99,    105,
     111,    117,    124,    132,
     140,    148,    157,    166,
     176,    187,    198,    210,
     222,    235,    249,    264,
     280,    297,    314,    333,
     353,    374,    396,    420,
     445,    471,    499,    529,
     561,    594,    629,    667,
     706,    748,    793,    840,
     890,    943,    999,   1059,
    1122,   1188,   1259,   1334,
    1413,   1497,   1586,   1681,
    1781,   1886,   1999,   2117,
    2243,   2377,   2518,   2668,
    2826,   2994,   3172,   3361,
    3560,   3772,   3996,   4233,
    4485,   4751,   5033,   5332,
    5648,   5983,   6337,   6713,
    7111,   7532,   7978,   8449,
    8949,   9477,  10037,  10628,
   11254,  11916,  12616,  13356,
   14138,  14964,  15837,  16758,
   17730,  18756,  19837,  20975,
   22174,  23435,  24761,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,  25078,  25078,  25078,
   25078,
};
const uint16_t lut_svf_damp[] = {
   65534,  49213,  46125,  44055,
   42453,  41129,  39991,  38988,
   38086,  37266,  36512,  35812,
   35158,  34544,  33965,  33416,
   32893,  32395,  31918,  31460,
   31021,  30597,  30188,  29793,
   29411,  29041,  28681,  28332,
   27992,  27661,  27339,  27024,
   26717,  26418,  26125,  25838,
   25558,  25283,  25014,  24750,
   24491,  24236,  23987,  23742,
   23501,  23264,  23031,  22802,
   22577,  22355,  22136,  21921,
   21708,  21499,  21293,  21089,
   20889,  20691,  20495,  20302,
   20112,  19924,  19738,  19555,
   19373,  19194,  19017,  18842,
   18668,  18497,  18327,  18160,
   17994,  17830,  17667,  17506,
   17347,  17189,  17033,  16878,
   16725,  16573,  16423,  16274,
   16126,  15980,  15834,  15691,
   15548,  15407,  15266,  15127,
   14989,  14853,  14717,  14582,
   14449,  14316,  14185,  14054,
   13925,  13796,  13669,  13542,
   13416,  13291,  13167,  13044,
   12922,  12801,  12680,  12561,
   12442,  12324,  12206,  12090,
   11974,  11859,  11744,  11631,
   11518,  11406,  11294,  11183,
   11073,  10964,  10855,  10747,
   10639,  10532,  10426,  10321,
   10215,  10111,  10007,   9904,
    9801,   9699,   9597,   9496,
    9396,   9296,   9196,   9097,
    8999,   8901,   8804,   8707,
    8610,   8514,   8419,   8324,
    8230,   8136,   8042,   7949,
    7856,   7764,   7672,   7581,
    7490,   7400,   7309,   7220,
    7131,   7042,   6953,   6865,
    6778,   6690,   6604,   6517,
    6431,   6345,   6260,   6175,
    6090,   6006,   5922,   5839,
    5755,   5673,   5590,   5508,
    5426,   5345,   5263,   5183,
    5102,   5022,   4942,   4862,
    4783,   4704,   4626,   4547,
    4469,   4391,   4314,   4237,
    4160,   4083,   4007,   3931,
    3855,   3780,   3705,   3630,
    3555,   3481,   3407,   3333,
    3259,   3186,   3113,   3040,
    2968,   2895,   2823,   2752,
    2680,   2609,   2538,   2467,
    2396,   2326,   2256,   2186,
    2116,   2047,   1978,   1909,
    1840,   1771,   1703,   1635,
    1567,   1500,   1432,   1365,
    1298,   1231,   1164,   1098,
    1032,    966,    900,    834,
     769,    704,    639,    574,
     510,    445,    381,    317,
     253,
};
const uint16_t lut_svf_scale[] = {
   32767,  28395,  27490,  26866,
   26373,  25958,  25596,  25273,
   24979,  24709,  24458,  24222,
   24000,  23790,  23589,  23398,
   23214,  23037,  22867,  22703,
   22544,  22389,  22239,  22093,
   21951,  21812,  21677,  21544,
   21415,  21288,  21163,  21041,
   20922,  20804,  20688,  20574,
   20462,  20352,  20243,  20136,
   20031,  19927,  19824,  19722,
   19622,  19523,  19425,  19328,
   19232,  19137,  19043,  18951,
   18859,  18768,  18677,  18588,
   18499,  18411,  18324,  18238,
   18152,  18067,  17983,  17899,
   17815,  17733,  17651,  17569,
   17488,  17408,  17328,  17249,
   17170,  17091,  17013,  16935,
   16858,  16781,  16705,  16629,
   16553,  16478,  16403,  16328,
   16254,  16180,  16106,  16033,
   15960,  15887,  15815,  15743,
   15671,  15599,  15528,  15456,
   15386,  15315,  15244,  15174,
   15104,  15034,  14964,  14895,
   14826,  14756,  14687,  14619,
   14550,  14482,  14413,  14345,
   14277,  14209,  14141,  14074,
   14006,  13939,  13871,  13804,
   13737,  13670,  13603,  13536,
   13469,  13402,  13336,  13269,
   13202,  13136,  13070,  13003,
   12937,  12870,  12804,  12738,
   12672,  12605,  12539,  12473,
   12407,  12341,  12274,  12208,
   12142,  12076,  12010,  11943,
   11877,  11811,  11744,  11678,
   11611,  11545,  11478,  11412,
   11345,  11278,  11211,  11144,
   11077,  11010,  10943,  10876,
   10808,  10741,  10673,  10605,
   10538,  10470,  10401,  10333,
   10265,  10196,  10127,  10058,
    9989,   9920,   9850,   9780,
    9710,   9640,   9570,   9499,
    9429,   9357,   9286,   9215,
    9143,   9071,   8998,   8925,
    8852,   8779,   8705,   8631,
    8557,   8482,   8407,   8332,
    8256,   8179,   8103,   8025,
    7948,   7870,   7791,   7712,
    7632,   7552,   7471,   7390,
    7308,   7225,   7142,   7058,
    6973,   6888,   6801,   6714,
    6626,   6538,   6448,   6358,
    6266,   6173,   6080,   5985,
    5889,   5791,   5692,   5592,
    5491,   5388,   5283,   5176,
    5067,   4957,   4844,   4729,
    4612,   4491,   4368,   4242,
    4112,   3979,   3841,   3698,
    3550,   3397,   3236,   3068,
    2890,   2701,   2499,   2280,
    2038,
};
const uint16_t lut_granular_envelope[] = {
       0,      4,     19,     44,
      78,    123,    177,    241,
     314,    398,    490,    593,
     705,    826,    957,   1097,
    1247,   1405,   1572,   1749,
    1934,   2128,   2330,   2541,
    2761,   2988,   3224,   3467,
    3718,   3977,   4244,   4517,
    4798,   5086,   5381,   5682,
    5989,   6303,   6623,   6949,
    7281,   7618,   7960,   8308,
    8660,   9017,   9378,   9744,
   10113,  10487,  10864,  11244,
   11627,  12013,  12402,  12793,
   13187,  13582,  13979,  14377,
   14777,  15178,  15579,  15981,
   16383,  16785,  17187,  17588,
   17989,  18389,  18787,  19184,
   19579,  19973,  20364,  20753,
   21139,  21522,  21902,  22279,
   22653,  23022,  23388,  23749,
   24106,  24458,  24806,  25148,
   25485,  25817,  26143,  26463,
   26777,  27084,  27385,  27680,
   27968,  28249,  28522,  28789,
   29048,  29299,  29542,  29778,
   30005,  30225,  30436,  30638,
   30832,  31017,  31194,  31361,
   31519,  31669,  31809,  31940,
   32061,  32173,  32276,  32368,
   32452,  32525,  32589,  32643,
   32688,  32722,  32747,  32762,
   32767,  32762,  32747,  32722,
   32688,  32643,  32589,  32525,
   32452,  32368,  32276,  32173,
   32061,  31940,  31809,  31669,
   31519,  31361,  31194,  31017,
   30832,  30638,  30436,  30225,
   30005,  29778,  29542,  29299,
   29048,  28789,  28522,  28249,
   27968,  27680,  27385,  27084,
   26777,  26463,  26143,  25817,
   25485,  25148,  24806,  24458,
   24106,  23749,  23388,  23022,
   22653,  22279,  21902,  21522,
   21139,  20753,  20364,  19973,
   19579,  19184,  18787,  18389,
   17989,  17588,  17187,  16785,
   16383,  15981,  15579,  15178,
   14777,  14377,  13979,  13582,
   13187,  12793,  12402,  12013,
   11627,  11244,  10864,  10487,
   10113,   9744,   9378,   9017,
    8660,   8308,   7960,   7618,
    7281,   6949,   6623,   6303,
    5989,   5682,   5381,   5086,
    4798,   4517,   4244,   3977,
    3718,   3467,   3224,   2988,
    2761,   2541,   2330,   2128,
    1934,   1749,   1572,   1405,
    1247,   1097,    957,    826,
     705,    593,    490,    398,
     314,    241,    177,    123,
      78,     44,     19,      4,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,
};
const uint16_t lut_granular_envelope_rate[] = {
    2048,   2070,   2092,   2115,
    2138,   2161,   2185,   2209,
    2233,   2257,   2282,   2307,
    2332,   2357,   2383,   2409,
    2435,   2462,   2488,   2515,
    2543,   2571,   2599,   2627,
    2655,   2684,   2714,   2743,
    2773,   2803,   2834,   2865,
    2896,   2927,   2959,   2991,
    3024,   3057,   3090,   3124,
    3158,   3192,   3227,   3262,
    3298,   3334,   3370,   3407,
    3444,   3481,   3519,   3558,
    3596,   3635,   3675,   3715,
    3756,   3796,   3838,   3880,
    3922,   3965,   4008,   4051,
    4096,   4140,   4185,   4231,
    4277,   4323,   4371,   4418,
    4466,   4515,   4564,   4614,
    4664,   4715,   4766,   4818,
    4870,   4924,   4977,   5031,
    5086,   5142,   5198,   5254,
    5311,   5369,   5428,   5487,
    5547,   5607,   5668,   5730,
    5792,   5855,   5919,   5983,
    6049,   6114,   6181,   6248,
    6316,   6385,   6455,   6525,
    6596,   6668,   6741,   6814,
    6888,   6963,   7039,   7116,
    7193,   7271,   7351,   7431,
    7512,   7593,   7676,   7760,
    7844,   7930,   8016,   8103,
    8192,   8281,   8371,   8462,
    8554,   8647,   8742,   8837,
    8933,   9030,   9129,   9228,
    9328,   9430,   9533,   9637,
    9741,   9848,   9955,  10063,
   10173,  10284,  10396,  10509,
   10623,  10739,  10856,  10974,
   11094,  11214,  11336,  11460,
   11585,  11711,  11838,  11967,
   12098,  12229,  12363,  12497,
   12633,  12771,  12910,  13051,
   13193,  13336,  13482,  13628,
   13777,  13927,  14078,  14232,
   14387,  14543,  14702,  14862,
   15024,  15187,  15353,  15520,
   15689,  15860,  16032,  16207,
   16384,  16562,  16742,  16925,
   17109,  17295,  17484,  17674,
   17866,  18061,  18258,  18456,
   18657,  18861,  19066,  19274,
   19483,  19696,  19910,  20127,
   20346,  20568,  20792,  21018,
   21247,  21478,  21712,  21949,
   22188,  22429,  22673,  22920,
   23170,  23422,  23677,  23935,
   24196,  24459,  24726,  24995,
   25267,  25542,  25820,  26102,
   26386,  26673,  26964,  27257,
   27554,  27854,  28157,  28464,
   28774,  29087,  29404,  29724,
   30048,  30375,  30706,  31040,
   31378,  31720,  32065,  32415,
   32768,
};
const uint16_t lut_bowing_envelope[] = {
       0,     10,     21,     32,
      43,     54,     65,     76,
      87,     98,    109,    120,
     131,    142,    153,    164,
     175,    185,    196,    207,
     218,    229,    240,    251,
     262,    273,    284,    295,
     306,    317,    328,    339,
     350,    361,    371,    382,
     393,    404,    415,    426,
     437,    448,    459,    470,
     481,    492,    503,    514,
     525,    536,    547,    557,
     568,    579,    590,    601,
     612,    623,    634,    645,
     656,    667,    678,    689,
     700,    711,    722,    733,
     743,    754,    765,    776,
     787,    798,    809,    820,
     831,    842,    853,    864,
     875,    886,    897,    908,
     919,    929,    940,    951,
     962,    973,    984,    995,
    1006,   1017,   1028,   1039,
    1050,   1061,   1072,   1083,
    1094,   1105,   1115,   1126,
    1137,   1148,   1159,   1170,
    1181,   1192,   1203,   1214,
    1225,   1236,   1247,   1258,
    1269,   1280,   1291,   1301,
    1312,   1323,   1334,   1345,
    1356,   1367,   1378,   1389,
    1400,   1411,   1422,   1433,
    1444,   1455,   1466,   1477,
    1487,   1498,   1509,   1520,
    1531,   1542,   1553,   1564,
    1575,   1586,   1597,   1608,
    1619,   1630,   1641,   1652,
    1663,   1673,   1684,   1695,
    1706,   1717,   1728,   1739,
    1750,   1761,   1772,   1783,
    1794,   1805,   1816,   1827,
    1838,   1849,   1859,   1870,
    1881,   1892,   1903,   1914,
    1925,   1936,   1947,   1958,
    1969,   1980,   1991,   2002,
    2013,   2024,   2035,   2045,
    2056,   2067,   2078,   2089,
    2100,   2111,   2122,   2133,
    2144,   2155,   2166,   2177,
    2188,   2199,   2210,   2221,
    2231,   2242,   2253,   2264,
    2275,   2286,   2297,   2308,
    2319,   2330,   2341,   2352,
    2363,   2374,   2385,   2396,
    2406,   2417,   2428,   2439,
    2450,   2461,   2472,   2483,
    2494,   2505,   2516,   2527,
    2538,   2549,   2560,   2571,
    2582,   2592,   2603,   2614,
    2625,   2636,   2647,   2658,
    2669,   2680,   2691,   2702,
    2713,   2724,   2735,   2746,
    2757,   2768,   2778,   2789,
    2800,   2811,   2822,   2833,
    2844,   2855,   2866,   2877,
    2888,   2899,   2910,   2921,
    2932,   2943,   2954,   2964,
    2975,   2986,   2997,   3008,
    3019,   3030,   3041,   3052,
    3063,   3074,   3085,   3096,
    3107,   3118,   3129,   3140,
    3150,   3161,   3172,   3183,
    3194,   3205,   3216,   3227,
    3238,   3249,   3260,   3271,
    3282,   3293,   3304,   3315,
    3326,   3336,   3347,   3358,
    3369,   3380,   3391,   3402,
    3413,   3424,   3435,   3446,
    3457,   3468,   3479,   3490,
    3501,   3512,   3522,   3533,
    3544,   3555,   3566,   3577,
    3588,   3599,   3610,   3621,
    3632,   3643,   3654,   3665,
    3676,   3687,   3698,   3708,
    3719,   3730,   3741,   3752,
    3763,   3774,   3785,   3796,
    3807,   3818,   3829,   3840,
    3851,   3862,   3873,   3884,
    3894,   3905,   3916,   3927,
    3938,   3949,   3960,   3971,
    3982,   3993,   4004,   4015,
    4026,   4037,   4048,   4059,
    4070,   4080,   4091,   4102,
    4113,   4124,   4135,   4146,
    4157,   4168,   4179,   4190,
    4201,   4212,   4223,   4234,
    4245,   4256,   4266,   4277,
    4288,   4299,   4310,   4321,
    4332,   4343,   4354,   4365,
    4376,   4387,   4398,   4409,
    4420,   4431,   4442,   4452,
    4463,   4474,   4485,   4496,
    4507,   4518,   4529,   4540,
    4551,   4562,   4573,   4584,
    4595,   4606,   4617,   4628,
    4638,   4649,   4660,   4671,
    4682,   4693,   4704,   4715,
    4726,   4737,   4748,   4759,
    4770,   4781,   4792,   4803,
    4813,   4824,   4835,   4846,
    4857,   4868,   4879,   4890,
    4901,   4912,   4923,   4934,
    4945,   4956,   4967,   4978,
    4989,   4999,   5010,   5021,
    5032,   5043,   5054,   5065,
    5076,   5087,   5098,   5109,
    5120,   5131,   5142,   5153,
    5164,   5175,   5185,   5196,
    5207,   5218,   5229,   5240,
    5251,   5262,   5273,   5284,
    5295,   5306,   5317,   5328,
    5339,   5350,   5361,   5371,
    5382,   5393,   5404,   5415,
    5426,   5437,   5448,   5459,
    5470,   5481,   5492,   5503,
    5514,   5525,   5536,   5547,
    5557,   5568,   5579,   5590,
    5601,   5612,   5623,   5634,
    5645,   5656,   5667,   5678,
    5689,   5700,   5711,   5722,
    5733,   5743,   5754,   5765,
    5776,   5787,   5798,   5809,
    5820,   5831,   5842,   5853,
    5864,   5875,   5886,   5897,
    5908,   5919,   5929,   5940,
    5951,   5962,   5973,   5984,
    5995,   6006,   6017,   6028,
    6039,   6050,   6061,   6072,
    6083,   6094,   6105,   6115,
    6126,   6137,   6148,   6159,
    6170,   6181,   6192,   6203,
    6214,   6225,   6236,   6247,
    6258,   6269,   6280,   6291,
    6301,   6312,   6323,   6334,
    6345,   6356,   6367,   6378,
    6389,   6400,   6411,   6422,
    6433,   6444,   6455,   6466,
    6477,   6487,   6498,   6509,
    6520,   6531,   6542,   6553,
    6553,   6542,   6531,   6520,
    6509,   6498,   6487,   6476,
    6465,   6454,   6443,   6432,
    6421,   6410,   6399,   6388,
    6377,   6366,   6355,   6344,
    6333,   6322,   6311,   6300,
    6289,   6278,   6267,   6256,
    6245,   6234,   6223,   6212,
    6201,   6190,   6179,   6168,
    6157,   6146,   6135,   6124,
    6113,   6102,   6090,   6079,
    6068,   6057,   6046,   6035,
    6024,   6013,   6002,   5991,
    5980,   5969,   5958,   5947,
    5936,   5925,   5914,   5903,
    5892,   5881,   5870,   5859,
    5848,   5837,   5826,   5815,
    5804,   5793,   5782,   5771,
    5760,   5749,   5738,   5727,
    5716,   5705,   5694,   5683,
    5672,   5661,   5650,   5639,
    5628,   5617,   5606,   5595,
    5584,   5573,   5562,   5551,
    5540,   5529,   5518,   5507,
    5496,   5485,   5474,   5463,
    5452,   5441,   5430,   5419,
    5408,   5397,   5386,   5375,
    5364,   5353,   5342,   5330,
    5319,   5308,   5297,   5286,
    5275,   5264,   5253,   5242,
    5242,   5242,   5242,   5242,
    5242,   5242,   5242,   5242,
    5242,   5242,   5242,   5242,
    5242,   5242,   5242,   5242,
    5242,   5242,   5242,   5242,
    5242,   5242,   5242,   5242,
    5242,   5242,   5242,   5242,
    5242,   5242,   5242,   5242,
};
const uint16_t lut_bowing_friction[] = {
   32768,  32768,  32768,  32768,
   32768,  32768,  32768,  32768,
   32768,  32768,  32768,  32768,
   32768,  32768,  32768,  32768,
   32768,  30797,  28973,  27281,
   25711,  24253,  22896,  21633,
   20456,  19358,  18333,  17374,
   16478,  15638,  14852,  14114,
   13421,  12771,  12159,  11583,
   11042,  10531,  10050,   9596,
    9167,   8762,   8379,   8016,
    7673,   7349,   7041,   6749,
    6472,   6209,   5960,   5723,
    5497,   5283,   5078,   4884,
    4699,   4522,   4354,   4194,
    4040,   3894,   3754,   3621,
    3493,   3371,   3254,   3143,
    3036,   2933,   2835,   2741,
    2651,   2564,   2481,   2401,
    2325,   2251,   2181,   2113,
    2048,   1985,   1924,   1866,
    1810,   1756,   1705,   1655,
    1606,   1560,   1515,   1472,
    1431,   1390,   1352,   1314,
    1278,   1243,   1209,   1177,
    1145,   1115,   1085,   1057,
    1029,   1003,    977,    952,
     928,    904,    882,    860,
     838,    818,    798,    778,
     759,    741,    723,    706,
     690,    673,    658,    642,
     628,    613,    599,    586,
     572,    560,    547,    535,
     523,    512,    501,    490,
     479,    469,    459,    449,
     440,    430,    421,    413,
     404,    396,    388,    380,
     372,    365,    357,    350,
     343,    336,    330,    323,
     317,    311,    305,    299,
     293,    288,    282,    277,
     272,    267,    262,    257,
     252,    247,    243,    238,
     234,    230,    226,    222,
     218,    214,    210,    207,
     203,    199,    196,    193,
     189,    186,    183,    180,
     177,    174,    171,    168,
     165,    162,    160,    157,
     155,    152,    150,    147,
     145,    143,    140,    138,
     136,    134,    132,    130,
     128,    126,    124,    122,
     120,    118,    116,    114,
     113,    111,    109,    108,
     106,    104,    103,    101,
     100,     98,     97,     96,
      94,     93,     92,     90,
      89,     88,     86,     85,
      84,     83,     82,     81,
      79,     78,     77,     76,
      75,     74,     73,     72,
      71,     70,     69,     68,
      67,     66,     66,     65,
      64,
};
const uint16_t lut_blowing_envelope[] = {
       0,    178,    357,    536,
     715,    894,   1073,   1252,
    1431,   1610,   1789,   1968,
    2147,   2326,   2505,   2684,
    2863,   3042,   3221,   3400,
    3579,   3758,   3937,   4116,
    4295,   4474,   4653,   4832,
    5011,   5190,   5369,   5548,
    5727,   5906,   6085,   6264,
    6443,   6622,   6801,   6980,
    7159,   7338,   7517,   7696,
    7875,   8054,   8233,   8412,
    8591,   8770,   8949,   9128,
    9307,   9486,   9665,   9844,
   10023,  10202,  10381,  10560,
   10739,  10918,  11097,  11276,
   11455,  11634,  11813,  11991,
   12170,  12349,  12528,  12707,
   12886,  13065,  13244,  13423,
   13602,  13781,  13960,  14139,
   14318,  14497,  14676,  14855,
   15034,  15213,  15392,  15571,
   15750,  15929,  16108,  16287,
   16466,  16645,  16824,  17003,
   17182,  17361,  17540,  17719,
   17898,  18077,  18256,  18435,
   18614,  18793,  18972,  19151,
   19330,  19509,  19688,  19867,
   20046,  20225,  20404,  20583,
   20762,  20941,  21120,  21299,
   21299,  21281,  21263,  21245,
   21227,  21210,  21192,  21174,
   21156,  21138,  21120,  21103,
   21085,  21067,  21049,  21031,
   21014,  20996,  20978,  20960,
   20942,  20924,  20907,  20889,
   20871,  20853,  20835,  20817,
   20800,  20782,  20764,  20746,
   20728,  20711,  20693,  20675,
   20657,  20639,  20621,  20604,
   20586,  20568,  20550,  20532,
   20514,  20497,  20479,  20461,
   20443,  20425,  20408,  20390,
   20372,  20354,  20336,  20318,
   20301,  20283,  20265,  20247,
   20229,  20211,  20194,  20176,
   20158,  20140,  20122,  20105,
   20087,  20069,  20051,  20033,
   20015,  19998,  19980,  19962,
   19944,  19926,  19908,  19891,
   19873,  19855,  19837,  19819,
   19802,  19784,  19766,  19748,
   19730,  19712,  19695,  19677,
   19659,  19641,  19623,  19605,
   19588,  19570,  19552,  19534,
   19516,  19499,  19481,  19463,
   19445,  19427,  19409,  19392,
   19374,  19356,  19338,  19320,
   19302,  19285,  19267,  19249,
   19231,  19213,  19196,  19178,
   19160,  19142,  19124,  19106,
   19089,  19071,  19053,  19035,
   19017,  18999,  18982,  18964,
   18946,  18928,  18910,  18893,
   18875,  18857,  18839,  18821,
   18803,  18786,  18768,  18750,
   18732,  18714,  18696,  18679,
   18661,  18643,  18625,  18607,
   18590,  18572,  18554,  18536,
   18518,  18500,  18483,  18465,
   18447,  18429,  18411,  18393,
   18376,  18358,  18340,  18322,
   18304,  18287,  18269,  18251,
   18233,  18215,  18197,  18180,
   18162,  18144,  18126,  18108,
   18090,  18073,  18055,  18037,
   18019,  18001,  17984,  17966,
   17948,  17930,  17912,  17894,
   17877,  17859,  17841,  17823,
   17805,  17787,  17770,  17752,
   17734,  17716,  17698,  17681,
   17663,  17645,  17627,  17609,
   17591,  17574,  17556,  17538,
   17520,  17502,  17484,  17467,
   17449,  17431,  17413,  17395,
   17378,  17360,  17342,  17324,
   17306,  17288,  17271,  17253,
   17235,  17217,  17199,  17181,
   17164,  17146,  17128,  17110,
   17092,  17075,  17057,  17039,
   17039,  17039,  17039,  17039,
   17039,  17039,  17039,  17039,
   17039,  17039,  17039,  17039,
   17039,  17039,  17039,  17039,
   17039,  17039,  17039,  17039,
   17039,  17039,  17039,  17039,
   17039,  17039,  17039,  17039,
   17039,  17039,  17039,  17039,
};
const uint16_t lut_flute_body_filter[] = {
      30,     32,     34,     36,
      38,     40,     43,     45,
      48,     51,     54,     57,
      60,     64,     68,     72,
      76,     81,     86,     91,
      96,    102,    108,    114,
     121,    129,    136,    144,
     153,    162,    172,    182,
     193,    204,    216,    229,
     243,    258,    273,    289,
     306,    325,    344,    364,
     386,    409,    433,    459,
     487,    516,    546,    579,
     613,    650,    688,    729,
     773,    819,    867,    919,
     974,   1032,   1093,   1158,
    1227,   1300,   1377,   1459,
    1546,   1638,   1735,   1839,
    1948,   2064,   2187,   2317,
    2454,   2600,   2755,   2867,
    2867,   2867,   2867,   2867,
    2867,   2867,   2867,   2867,
    2867,   2867,   2867,   2867,
    2867,   2867,   2867,   2867,
    2867,   2867,   2867,   2867,
    2867,   2867,   2867,   2867,
    2867,   2867,   2867,   2867,
    2867,   2867,   2867,   2867,
    2867,   2867,   2867,   2867,
    2867,   2867,   2867,   2867,
    2867,   2867,   2867,   2867,
    2867,   2867,   2867,   2867,
};
const uint16_t lut_fm_frequency_quantizer[] = {
    7168,   7168,   7168,   7360,
    7552,   7744,   7936,   8128,
    8320,   8512,   8704,   8896,
    9088,   9280,   9472,   9664,
    9856,  10048,  10240,  10240,
   10240,  10432,  10624,  10816,
   11008,  11200,  11392,  11584,
   11776,  11968,  12160,  12352,
   12544,  12736,  12928,  13312,
   13312,  13312,  13352,  13352,
   13352,  13726,  14100,  14474,
   14848,  14848,  14848,  15080,
   15313,  15313,  15313,  15581,
   15848,  16116,  16384,  16384,
   16384,  16424,  16424,  16424,
   16798,  17172,  17546,  17920,
   17920,  17920,  18152,  18385,
   18385,  18385,  18624,  18864,
   18864,  18864,  19160,  19456,
   19456,  19456,  19496,  19496,
   19496,  19737,  19978,  19978,
   19978,  20200,  20422,  20645,
   20867,  20867,  20867,  20992,
   20992,  20992,  21253,  21253,
   21253,  21457,  21457,  21457,
   21673,  21890,  21890,  21890,
   22209,  22528,  22528,  22528,
   22789,  22789,  22789,  23021,
   23254,  23254,  23254,  23516,
   23516,  23516,  23790,  24064,
   24064,  24064,  24448,  24832,
   25216,  25600,  25600,  25600,
   25600,
};
const uint16_t lut_vco_detune[] = {
      10,     10,     10,     47,
     116,    184,    252,    321,
     389,    456,    524,    592,
     659,    727,    794,    862,
     929,    996,   1063,   1130,
    1196,   1263,   1330,   1396,
    1463,   1529,   1595,   1662,
    1728,   1794,   1860,   1926,
    1992,   2058,   2124,   2189,
    2255,   2321,   2386,   2452,
    2517,   2583,   2648,   2714,
    2779,   2844,   2910,   2975,
    3040,   3105,   3170,   3235,
    3301,   3366,   3431,   3496,
    3560,   3625,   3690,   3755,
    3820,   3885,   3950,   4014,
    4079,   4144,   4208,   4273,
    4338,   4402,   4467,   4532,
    4596,   4661,   4725,   4790,
    4854,   4919,   4983,   5048,
    5112,   5176,   5241,   5305,
    5370,   5434,   5498,   5563,
    5627,   5691,   5755,   5820,
    5884,   5948,   6013,   6077,
    6141,   6205,   6269,   6334,
    6398,   6462,   6526,   6590,
    6654,   6719,   6783,   6847,
    6911,   6975,   7039,   7103,
    7167,   7231,   7295,   7359,
    7423,   7487,   7551,   7615,
    7680,   7743,   7807,   7871,
    7935,   7999,   8063,   8127,
    8191,   8255,   8319,   8383,
    8447,   8511,   8575,   8638,
    8702,   8766,   8830,   8894,
    8958,   9021,   9085,   9149,
    9213,   9277,   9340,   9404,
    9468,   9532,   9595,   9659,
    9723,   9786,   9850,   9914,
    9977,  10041,  10105,  10168,
   10232,  10295,  10359,  10422,
   10486,  10549,  10613,  10676,
   10740,  10803,  10867,  10930,
   10993,  11057,  11120,  11183,
   11247,  11310,  11373,  11436,
   11500,  11563,  11626,  11689,
   11752,  11815,  11878,  11941,
   12004,  12067,  12130,  12193,
   12256,  12319,  12381,  12444,
   12507,  12570,  12632,  12695,
   12757,  12820,  12882,  12945,
   13007,  13069,  13132,  13194,
   13256,  13318,  13380,  13442,
   13504,  13566,  13628,  13690,
   13752,  13813,  13875,  13936,
   13998,  14059,  14120,  14182,
   14243,  14304,  14365,  14426,
   14487,  14547,  14608,  14668,
   14729,  14789,  14849,  14910,
   14970,  15030,  15089,  15149,
   15209,  15268,  15327,  15387,
   15446,  15505,  15564,  15622,
   15681,  15739,  15797,  15855,
   15913,  15971,  16029,  16086,
   16143,
};
const uint16_t lut_bell[] = {
       0,    670,   2655,   5873,
   10191,  15434,  21387,  27805,
   34427,  40980,  47198,  52824,
   57630,  61417,  64032,  65366,
   65534,  65528,  65517,  65500,
   65477,  65449,  65415,  65376,
   65331,  65280,  65224,  65162,
   65095,  65022,  64944,  64860,
   64770,  64675,  64574,  64468,
   64357,  64240,  64118,  63990,
   63857,  63718,  63575,  63426,
   63271,  63112,  62947,  62777,
   62602,  62421,  62236,  62046,
   61850,  61650,  61444,  61234,
   61018,  60798,  60573,  60343,
   60109,  59870,  59626,  59377,
   59124,  58866,  58604,  58338,
   58067,  57791,  57512,  57228,
   56940,  56648,  56351,  56051,
   55746,  55438,  55126,  54810,
   54490,  54166,  53839,  53508,
   53173,  52835,  52494,  52149,
   51801,  51449,  51094,  50736,
   50375,  50011,  49645,  49275,
   48902,  48526,  48148,  47767,
   47384,  46998,  46610,  46219,
   45826,  45431,  45033,  44633,
   44232,  43828,  43423,  43015,
   42606,  42195,  41783,  41369,
   40953,  40537,  40118,  39699,
   39278,  38856,  38433,  38010,
   37585,  37159,  36733,  36306,
   35879,  35450,  35022,  34593,
   34163,  33734,  33304,  32874,
   32445,  32015,  31585,  31156,
   30727,  30298,  29869,  29442,
   29014,  28588,  28162,  27737,
   27312,  26889,  26467,  26045,
   25625,  25206,  24789,  24373,
   23958,  23545,  23133,  22723,
   22315,  21908,  21504,  21101,
   20700,  20302,  19905,  19511,
   19119,  18730,  18343,  17958,
   17576,  17196,  16819,  16445,
   16074,  15706,  15340,  14978,
   14618,  14262,  13909,  13559,
   13212,  12869,  12529,  12193,
   11860,  11531,  11206,  10884,
   10566,  10252,   9941,   9635,
    9332,   9034,   8740,   8450,
    8164,   7882,   7604,   7331,
    7062,   6798,   6538,   6283,
    6032,   5786,   5544,   5307,
    5075,   4848,   4625,   4407,
    4195,   3987,   3784,   3586,
    3393,   3205,   3022,   2844,
    2671,   2504,   2342,   2185,
    2033,   1887,   1746,   1610,
    1479,   1354,   1235,   1121,
    1012,    909,    811,    719,
     632,    550,    475,    405,
     340,    281,    228,    180,
     138,    101,     70,     45,
      25,     11,      2,      0,
       0,
};
const uint16_t lut_env_expo[] = {
       0,   1034,   2053,   3057,
    4044,   5016,   5974,   6916,
    7844,   8757,   9656,  10542,
   11413,  12271,  13116,  13948,
   14766,  15572,  16366,  17147,
   17916,  18673,  19419,  20153,
   20875,  21587,  22287,  22976,
   23655,  24323,  24981,  25629,
   26267,  26894,  27512,  28121,
   28720,  29310,  29890,  30462,
   31024,  31578,  32124,  32661,
   33189,  33710,  34222,  34727,
   35223,  35712,  36193,  36667,
   37134,  37593,  38045,  38490,
   38928,  39360,  39785,  40203,
   40615,  41020,  41419,  41812,
   42198,  42579,  42954,  43323,
   43686,  44044,  44396,  44743,
   45084,  45420,  45751,  46077,
   46397,  46713,  47024,  47330,
   47631,  47927,  48219,  48507,
   48790,  49068,  49342,  49612,
   49878,  50140,  50398,  50651,
   50901,  51147,  51389,  51627,
   51862,  52092,  52320,  52544,
   52764,  52981,  53195,  53405,
   53612,  53816,  54016,  54214,
   54408,  54600,  54788,  54974,
   55156,  55336,  55513,  55688,
   55859,  56028,  56195,  56358,
   56520,  56678,  56835,  56988,
   57140,  57289,  57436,  57580,
   57723,  57863,  58001,  58136,
   58270,  58402,  58531,  58659,
   58784,  58908,  59029,  59149,
   59267,  59383,  59498,  59610,
   59721,  59830,  59937,  60043,
   60147,  60250,  60351,  60450,
   60548,  60644,  60739,  60832,
   60924,  61014,  61103,  61191,
   61277,  61362,  61446,  61528,
   61609,  61689,  61768,  61845,
   61921,  61996,  62070,  62143,
   62214,  62285,  62354,  62422,
   62490,  62556,  62621,  62685,
   62748,  62810,  62871,  62932,
   62991,  63049,  63107,  63163,
   63219,  63274,  63328,  63381,
   63434,  63485,  63536,  63586,
   63635,  63683,  63731,  63778,
   63824,  63870,  63914,  63958,
   64002,  64045,  64087,  64128,
   64169,  64209,  64248,  64287,
   64326,  64363,  64400,  64437,
   64473,  64508,  64543,  64577,
   64611,  64645,  64677,  64710,
   64741,  64773,  64803,  64834,
   64863,  64893,  64922,  64950,
   64978,  65006,  65033,  65060,
   65086,  65112,  65137,  65162,
   65187,  65212,  65236,  65259,
   65282,  65305,  65328,  65350,
   65372,  65393,  65414,  65435,
   65456,  65476,  65496,  65515,
   65535,
};


const uint16_t* lookup_table_table[] = {
  lut_resonator_coefficient,
  lut_resonator_scale,
  lut_svf_cutoff,
  lut_svf_damp,
  lut_svf_scale,
  lut_granular_envelope,
  lut_granular_envelope_rate,
  lut_bowing_envelope,
  lut_bowing_friction,
  lut_blowing_envelope,
  lut_flute_body_filter,
  lut_fm_frequency_quantizer,
  lut_vco_detune,
  lut_bell,
  lut_env_expo,
};

const int16_t lut_blowing_jet[] = {
       0,   -255,   -511,   -767,
   -1022,  -1278,  -1532,  -1786,
   -2039,  -2292,  -2544,  -2795,
   -3044,  -3293,  -3541,  -3787,
   -4031,  -4275,  -4516,  -4756,
   -4994,  -5231,  -5465,  -5697,
   -5927,  -6155,  -6381,  -6604,
   -6824,  -7042,  -7257,  -7470,
   -7679,  -7886,  -8089,  -8289,
   -8486,  -8680,  -8870,  -9056,
   -9239,  -9418,  -9594,  -9765,
   -9932, -10095, -10254, -10409,
  -10559, -10705, -10846, -10982,
  -11114, -11241, -11363, -11480,
  -11591, -11698, -11799, -11894,
  -11984, -12069, -12147, -12220,
  -12287, -12348, -12403, -12452,
  -12494, -12530, -12560, -12583,
  -12599, -12609, -12611, -12607,
  -12596, -12578, -12552, -12519,
  -12479, -12431, -12376, -12313,
  -12242, -12163, -12077, -11982,
  -11879, -11768, -11649, -11521,
  -11384, -11239, -11085, -10923,
  -10751, -10571, -10381, -10182,
   -9974,  -9757,  -9530,  -9293,
   -9047,  -8791,  -8526,  -8250,
   -7964,  -7668,  -7362,  -7046,
   -6719,  -6382,  -6034,  -5676,
   -5306,  -4926,  -4535,  -4133,
   -3719,  -3295,  -2859,  -2411,
   -1952,  -1482,  -1000,   -506,
       0,    517,   1048,   1590,
    2144,   2711,   3291,   3883,
    4487,   5105,   5735,   6378,
    7034,   7704,   8386,   9082,
    9791,  10514,  11250,  12000,
   12764,  13542,  14333,  15139,
   15959,  16793,  17642,  18504,
   19382,  20274,  21181,  22102,
   23039,  23990,  24957,  25939,
   26936,  27948,  28976,  30019,
   31079,  32153,  32767,  32767,
   32767,  32767,  32767,  32767,
   32767,  32767,  32767,  32767,
   32767,  32767,  32767,  32767,
   32767,  32767,  32767,  32767,
   32767,  32767,  32767,  32767,
   32767,  32767,  32767,  32767,
   32767,  32767,  32767,  32767,
   32767,  32767,  32767,  32767,
   32767,  32767,  32767,  32767,
   32767,  32767,  32767,  32767,
   32767,  32767,  32767,  32767,
   32767,  32767,  32767,  32767,
   32767,  32767,  32767,  32767,
   32767,  32767,  32767,  32767,
   32767,  32767,  32767,  32767,
   32767,  32767,  32767,  32767,
   32767,  32767,  32767,  32767,
   32767,  32767,  32767,  32767,
   32767,  32767,  32767,  32767,
   32767,  32767,  32767,  32767,
   32767,  32767,  32767,  32767,
   32767,
};


const int16_t* lookup_table_signed_table[] = {
  lut_blowing_jet,
};

const uint32_t lut_oscillator_increments[] = {
  594573364, 598881888, 603221633, 607592826,
  611995694, 616430467, 620897376, 625396654,
  629928536, 634493258, 639091058, 643722175,
  648386851, 653085330, 657817855, 662584675,
  667386036, 672222191, 677093390, 681999888,
  686941940, 691919804, 696933740, 701984010,
  707070875, 712194602, 717355458, 722553711,
  727789633, 733063497, 738375577, 743726151,
  749115497, 754543897, 760011633, 765518991,
  771066257, 776653721, 782281674, 787950409,
  793660223, 799411412, 805204277, 811039119,
  816916243, 822835954, 828798563, 834804379,
  840853716, 846946888, 853084215, 859266014,
  865492610, 871764326, 878081490, 884444431,
  890853479, 897308971, 903811242, 910360631,
  916957479, 923602131, 930294933, 937036233,
  943826384, 950665739, 957554655, 964493491,
  971482608, 978522372, 985613148, 992755307,
  999949221, 1007195266, 1014493818, 1021845258,
  1029249970, 1036708340, 1044220756, 1051787610,
  1059409296, 1067086213, 1074818759, 1082607339,
  1090452358, 1098354226, 1106313353, 1114330156,
  1122405051, 1130538461, 1138730809, 1146982522,
  1155294030, 1163665767, 1172098168, 1180591675,
  1189146729,
};
const uint32_t lut_oscillator_delays[] = {
  1939073583, 1925123345, 1911273470, 1897523234,
  1883871922, 1870318821, 1856863224, 1843504431,
  1830241745, 1817074474, 1804001933, 1791023438,
  1778138315, 1765345891, 1752645499, 1740036478,
  1727518169, 1715089920, 1702751084, 1690501017,
  1678339080, 1666264640, 1654277066, 1642375735,
  1630560024, 1618829320, 1607183009, 1595620485,
  1584141146, 1572744391, 1561429629, 1550196268,
  1539043722, 1527971412, 1516978758, 1506065189,
  1495230135, 1484473032, 1473793318, 1463190437,
  1452663836, 1442212966, 1431837283, 1421536245,
  1411309316, 1401155962, 1391075655, 1381067868,
  1371132079, 1361267772, 1351474431, 1341751546,
  1332098611, 1322515121, 1313000577, 1303554484,
  1294176349, 1284865683, 1275622000, 1266444818,
  1257333660, 1248288051, 1239307518, 1230391593,
  1221539812, 1212751713, 1204026838, 1195364733,
  1186764945, 1178227026, 1169750531, 1161335019,
  1152980050, 1144685189, 1136450004, 1128274065,
  1120156946, 1112098224, 1104097479, 1096154293,
  1088268252, 1080438946, 1072665967, 1064948908,
  1057287368, 1049680947, 1042129249, 1034631880,
  1027188449, 1019798568, 1012461852, 1005177918,
  997946388, 990766882, 983639028, 976562454,
  969536791,
};
const uint32_t lut_env_portamento_increments[] = {
  1431655765, 1208633567, 1025339217, 873854034,
  747996982, 642910145, 554750639, 480459775,
  417588783, 364166300, 318596895, 279582889,
  246063710, 217168604, 192179528, 170501890,
  151641346, 135185326, 120788231, 108159539,
  97054201, 87264844, 78615425, 70956050,
  64158714, 58113796, 52727166, 47917783,
  43615697, 39760385, 36299356, 33186980,
  30383504, 27854220, 25568762, 23500507,
  21626072, 19924877, 18378778, 16971748,
  15689604, 14519780, 13451115, 12473688,
  11578663, 10758156, 10005128, 9313280,
  8676970, 8091136, 7551232, 7053169,
  6593263, 6168194, 5774964, 5410864,
  5073442, 4760475, 4469950, 4200037,
  3949073, 3715547, 3498079, 3295415,
  3106409, 2930012, 2765269, 2611303,
  2467313, 2332562, 2206377, 2088136,
  1977272, 1873260, 1775618, 1683902,
  1597702, 1516641, 1440370, 1368566,
  1300932, 1237191, 1177088, 1120388,
  1066869, 1016330, 968580, 923445,
  880761, 840376, 802150, 765951,
  731657, 699152, 668331, 639094,
  611349, 585008, 559991, 536221,
  513628, 492146, 471711, 452267,
  433757, 416131, 399341, 383341,
  368089, 353545, 339672, 326434,
  313798, 301733, 290209, 279199,
  268677, 258617, 248997, 239795,
  230990, 222562, 214494, 206767,
  199365, 192272, 185474, 178956,
};


const uint32_t* lookup_table_hr_table[] = {
  lut_oscillator_increments,
  lut_oscillator_delays,
  lut_env_portamento_increments,
};

const int16_t wav_formant_sine[] = {
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      2,      2,      3,
       3,      4,      5,      6,
       7,      8,     10,     12,
      14,     17,     20,     24,
       0,      3,      4,      5,
       6,      7,      9,     10,
      12,     15,     18,     21,
      26,     31,     37,     45,
       0,      4,      5,      6,
       8,      9,     11,     13,
      16,     19,     23,     28,
      34,     40,     49,     58,
       0,      5,      6,      7,
       8,     10,     12,     15,
      17,     21,     25,     30,
      36,     44,     53,     63,
       0,      4,      5,      6,
       8,      9,     11,     13,
      16,     19,     23,     28,
      34,     40,     49,     58,
       0,      3,      4,      5,
       6,      7,      9,     10,
      12,     15,     18,     21,
      26,     31,     37,     45,
       0,      2,      2,      3,
       3,      4,      5,      6,
       7,      8,     10,     12,
      14,     17,     20,     24,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,     -2,     -2,     -3,
      -3,     -4,     -5,     -6,
      -7,     -8,    -10,    -12,
     -14,    -17,    -20,    -24,
       0,     -3,     -4,     -5,
      -6,     -7,     -9,    -10,
     -12,    -15,    -18,    -21,
     -26,    -31,    -37,    -45,
       0,     -4,     -5,     -6,
      -8,     -9,    -11,    -13,
     -16,    -19,    -23,    -28,
     -34,    -40,    -49,    -58,
       0,     -5,     -6,     -7,
      -8,    -10,    -12,    -15,
     -17,    -21,    -25,    -30,
     -36,    -44,    -53,    -63,
       0,     -4,     -5,     -6,
      -8,     -9,    -11,    -13,
     -16,    -19,    -23,    -28,
     -34,    -40,    -49,    -58,
       0,     -3,     -4,     -5,
      -6,     -7,     -9,    -10,
     -12,    -15,    -18,    -21,
     -26,    -31,    -37,    -45,
       0,     -2,     -2,     -3,
      -3,     -4,     -5,     -6,
      -7,     -8,    -10,    -12,
     -14,    -17,    -20,    -24,
};
const int16_t wav_formant_square[] = {
       0,      1,      1,      2,
       2,      3,      3,      4,
       4,      5,      6,      8,
       9,     11,     13,     16,
       0,      1,      1,      2,
       2,      3,      3,      4,
       4,      5,      6,      8,
       9,     11,     13,     16,
       0,      1,      1,      2,
       2,      3,      3,      4,
       4,      5,      6,      8,
       9,     11,     13,     16,
       0,      1,      1,      2,
       2,      3,      3,      4,
       4,      5,      6,      8,
       9,     11,     13,     16,
       0,      1,      1,      2,
       2,      3,      3,      4,
       4,      5,      6,      8,
       9,     11,     13,     16,
       0,      1,      1,      2,
       2,      3,      3,      4,
       4,      5,      6,      8,
       9,     11,     13,     16,
       0,      1,      1,      2,
       2,      3,      3,      4,
       4,      5,      6,      8,
       9,     11,     13,     16,
       0,      1,      1,      2,
       2,      3,      3,      4,
       4,      5,      6,      8,
       9,     11,     13,     16,
       0,     -1,     -1,     -2,
      -2,     -3,     -3,     -4,
      -4,     -5,     -6,     -8,
      -9,    -11,    -13,    -16,
       0,     -1,     -1,     -2,
      -2,     -3,     -3,     -4,
      -4,     -5,     -6,     -8,
      -9,    -11,    -13,    -16,
       0,     -1,     -1,     -2,
      -2,     -3,     -3,     -4,
      -4,     -5,     -6,     -8,
      -9,    -11,    -13,    -16,
       0,     -1,     -1,     -2,
      -2,     -3,     -3,     -4,
      -4,     -5,     -6,     -8,
      -9,    -11,    -13,    -16,
       0,     -1,     -1,     -2,
      -2,     -3,     -3,     -4,
      -4,     -5,     -6,     -8,
      -9,    -11,    -13,    -16,
       0,     -1,     -1,     -2,
      -2,     -3,     -3,     -4,
      -4,     -5,     -6,     -8,
      -9,    -11,    -13,    -16,
       0,     -1,     -1,     -2,
      -2,     -3,     -3,     -4,
      -4,     -5,     -6,     -8,
      -9,    -11,    -13,    -16,
       0,     -1,     -1,     -2,
      -2,     -3,     -3,     -4,
      -4,     -5,     -6,     -8,
      -9,    -11,    -13,    -16,
};
const int16_t wav_sine[] = {
  -32512, -32502, -32473, -32423,
  -32356, -32265, -32160, -32031,
  -31885, -31719, -31533, -31331,
  -31106, -30864, -30605, -30324,
  -30028, -29712, -29379, -29026,
  -28658, -28272, -27868, -27449,
  -27011, -26558, -26089, -25604,
  -25103, -24588, -24056, -23512,
  -22953, -22378, -21793, -21191,
  -20579, -19954, -19316, -18667,
  -18006, -17334, -16654, -15960,
  -15259, -14548, -13828, -13100,
  -12363, -11620, -10868, -10112,
   -9347,  -8578,  -7805,  -7023,
   -6241,  -5453,  -4662,  -3868,
   -3073,  -2274,  -1474,   -674,
     126,    929,   1729,   2527,
    3326,   4123,   4916,   5707,
    6495,   7278,   8057,   8833,
    9601,  10366,  11122,  11874,
   12618,  13353,  14082,  14802,
   15512,  16216,  16906,  17589,
   18260,  18922,  19569,  20207,
   20834,  21446,  22045,  22634,
   23206,  23765,  24311,  24842,
   25357,  25858,  26343,  26812,
   27266,  27701,  28123,  28526,
   28912,  29281,  29632,  29966,
   30281,  30579,  30859,  31118,
   31361,  31583,  31788,  31973,
   32139,  32286,  32412,  32521,
   32608,  32679,  32725,  32757,
   32766,  32757,  32725,  32679,
   32608,  32521,  32412,  32286,
   32139,  31973,  31788,  31583,
   31361,  31118,  30859,  30579,
   30281,  29966,  29632,  29281,
   28912,  28526,  28123,  27701,
   27266,  26812,  26343,  25858,
   25357,  24842,  24311,  23765,
   23206,  22634,  22045,  21446,
   20834,  20207,  19569,  18922,
   18260,  17589,  16906,  16216,
   15512,  14802,  14082,  13353,
   12618,  11874,  11122,  10366,
    9601,   8833,   8057,   7278,
    6495,   5707,   4916,   4123,
    3326,   2527,   1729,    929,
     126,   -674,  -1474,  -2274,
   -3073,  -3868,  -4662,  -5453,
   -6241,  -7023,  -7805,  -8578,
   -9347, -10112, -10868, -11620,
  -12363, -13100, -13828, -14548,
  -15259, -15960, -16654, -17334,
  -18006, -18667, -19316, -19954,
  -20579, -21191, -21793, -22378,
  -22953, -23512, -24056, -24588,
  -25103, -25604, -26089, -26558,
  -27011, -27449, -27868, -28272,
  -28658, -29026, -29379, -29712,
  -30028, -30324, -30605, -30864,
  -31106, -31331, -31533, -31719,
  -31885, -32031, -32160, -32265,
  -32356, -32423, -32473, -32502,
  -32512,
};
const int16_t wav_bandlimited_comb_0[] = {
    -142,   -146,   -143,   -139,
    -129,   -125,   -122,   -125,
    -133,   -142,   -146,   -146,
    -141,   -133,   -124,   -120,
    -123,   -129,   -140,   -147,
    -149,   -145,   -136,   -125,
    -117,   -119,   -126,   -136,
    -148,   -154,   -150,   -139,
    -127,   -115,   -113,   -119,
    -133,   -148,   -159,   -158,
    -147,   -129,   -112,   -103,
    -108,   -126,   -148,   -168,
    -175,   -161,   -136,   -104,
     -82,    -80,   -105,   -150,
    -196,   -226,   -220,   -164,
     -65,     60,    180,    270,
   32765,    271,    180,     59,
     -65,   -163,   -220,   -227,
    -196,   -149,   -106,    -79,
     -83,   -104,   -135,   -162,
    -174,   -168,   -150,   -124,
    -109,   -102,   -113,   -128,
    -147,   -159,   -158,   -149,
    -132,   -120,   -113,   -114,
    -127,   -140,   -150,   -153,
    -148,   -138,   -124,   -119,
    -118,   -125,   -135,   -145,
    -150,   -147,   -139,   -130,
    -122,   -121,   -124,   -132,
    -141,   -147,   -146,   -141,
    -133,   -126,   -122,   -124,
    -130,   -138,   -144,   -145,
    -143,   -135,   -128,   -124,
    -125,   -128,   -135,   -142,
    -145,   -142,   -137,   -131,
    -126,   -125,   -126,   -135,
    -138,   -144,   -143,   -139,
    -133,   -127,   -125,   -127,
    -131,   -138,   -142,   -142,
    -141,   -135,   -128,   -127,
    -126,   -130,   -135,   -141,
    -143,   -141,   -136,   -131,
    -127,   -126,   -128,   -135,
    -139,   -141,   -143,   -137,
    -133,   -128,   -126,   -128,
    -132,   -137,   -142,   -142,
    -139,   -135,   -128,   -127,
    -128,   -129,   -137,   -140,
    -143,   -139,   -137,   -130,
    -127,   -127,   -129,   -134,
    -140,   -142,   -140,   -139,
    -131,   -129,   -125,   -129,
    -132,   -138,   -142,   -142,
    -138,   -135,   -129,   -125,
    -128,   -130,   -137,   -140,
    -144,   -140,   -135,   -131,
    -126,   -125,   -130,   -135,
    -140,   -142,   -143,   -137,
    -131,   -128,   -124,   -128,
    -132,   -140,   -143,   -142,
    -140,   -134,   -127,   -125,
    -125,   -131,   -137,   -143,
    -144,   -142,   -136,   -128,
    -124,   -124,   -129,   -135,
    -142,
};
const int16_t wav_bandlimited_comb_1[] = {
    -150,   -157,   -152,   -144,
    -132,   -121,   -119,   -125,
    -135,   -149,   -157,   -157,
    -149,   -135,   -123,   -114,
    -120,   -131,   -146,   -158,
    -162,   -156,   -139,   -123,
    -112,   -113,   -124,   -142,
    -160,   -167,   -164,   -147,
    -125,   -108,   -104,   -113,
    -136,   -161,   -177,   -175,
    -159,   -129,   -102,    -89,
     -96,   -124,   -161,   -192,
    -201,   -182,   -140,    -89,
     -55,    -53,    -92,   -161,
    -237,   -285,   -272,   -185,
     -29,    170,    362,    503,
   32766,    503,    362,    170,
     -28,   -186,   -272,   -285,
    -237,   -161,    -92,    -52,
     -56,    -89,   -140,   -182,
    -201,   -192,   -160,   -125,
     -96,    -89,   -101,   -130,
    -159,   -175,   -177,   -161,
    -135,   -115,   -102,   -109,
    -125,   -147,   -163,   -168,
    -160,   -142,   -124,   -113,
    -111,   -124,   -140,   -154,
    -163,   -158,   -146,   -131,
    -119,   -116,   -122,   -134,
    -150,   -156,   -158,   -149,
    -136,   -123,   -120,   -121,
    -132,   -143,   -154,   -155,
    -151,   -140,   -128,   -122,
    -121,   -130,   -139,   -150,
    -154,   -151,   -144,   -131,
    -125,   -122,   -128,   -136,
    -146,   -153,   -151,   -145,
    -136,   -128,   -122,   -127,
    -133,   -143,   -151,   -151,
    -147,   -139,   -130,   -124,
    -126,   -131,   -140,   -148,
    -152,   -148,   -141,   -132,
    -127,   -125,   -130,   -136,
    -146,   -151,   -149,   -144,
    -135,   -128,   -125,   -128,
    -135,   -143,   -149,   -150,
    -146,   -138,   -130,   -125,
    -127,   -133,   -139,   -149,
    -150,   -147,   -142,   -131,
    -127,   -125,   -131,   -137,
    -147,   -149,   -150,   -143,
    -134,   -128,   -126,   -127,
    -136,   -143,   -150,   -150,
    -146,   -137,   -130,   -124,
    -127,   -132,   -142,   -148,
    -151,   -149,   -139,   -132,
    -125,   -124,   -131,   -138,
    -147,   -152,   -150,   -143,
    -134,   -126,   -123,   -128,
    -135,   -145,   -152,   -152,
    -147,   -136,   -127,   -122,
    -125,   -132,   -143,   -152,
    -153,   -150,   -140,   -129,
    -122,   -121,   -129,   -140,
    -150,
};
const int16_t wav_bandlimited_comb_2[] = {
    -159,   -164,   -128,   -110,
    -139,   -167,   -154,   -114,
    -116,   -153,   -171,   -138,
    -105,   -127,   -170,   -163,
    -119,   -105,   -147,   -176,
    -149,   -104,   -114,   -165,
    -178,   -127,    -94,   -134,
    -183,   -164,   -104,    -97,
    -159,   -193,   -140,    -83,
    -115,   -187,   -188,   -108,
     -72,   -146,   -214,   -164,
     -70,    -79,   -192,   -228,
    -120,    -29,   -114,   -254,
    -220,    -41,      3,   -194,
    -342,   -165,    119,     24,
    -441,   -578,    190,   1453,
   32767,   1453,    191,   -579,
    -442,     26,    118,   -165,
    -341,   -195,      3,    -41,
    -220,   -254,   -114,    -29,
    -120,   -227,   -193,    -80,
     -68,   -165,   -214,   -145,
     -74,   -107,   -187,   -188,
    -115,    -82,   -142,   -191,
    -160,    -97,   -103,   -165,
    -184,   -132,    -95,   -128,
    -176,   -166,   -114,   -104,
    -148,   -178,   -145,   -106,
    -118,   -165,   -168,   -128,
    -106,   -137,   -170,   -154,
    -116,   -114,   -153,   -169,
    -137,   -111,   -128,   -164,
    -159,   -123,   -115,   -143,
    -166,   -146,   -116,   -122,
    -157,   -161,   -133,   -114,
    -135,   -163,   -152,   -122,
    -119,   -149,   -161,   -141,
    -117,   -129,   -157,   -156,
    -130,   -117,   -140,   -162,
    -147,   -120,   -125,   -150,
    -161,   -134,   -118,   -135,
    -158,   -152,   -125,   -121,
    -146,   -159,   -143,   -119,
    -128,   -155,   -156,   -131,
    -120,   -138,   -159,   -148,
    -123,   -125,   -148,   -159,
    -136,   -121,   -132,   -157,
    -152,   -128,   -121,   -143,
    -159,   -144,   -121,   -127,
    -153,   -157,   -132,   -120,
    -137,   -158,   -150,   -123,
    -124,   -147,   -159,   -140,
    -118,   -132,   -156,   -154,
    -128,   -121,   -141,   -160,
    -145,   -121,   -126,   -152,
    -158,   -134,   -119,   -134,
    -160,   -151,   -125,   -120,
    -146,   -162,   -141,   -117,
    -129,   -157,   -157,   -129,
    -117,   -139,   -164,   -147,
    -120,   -121,   -153,   -162,
    -136,   -114,   -132,   -163,
    -155,   -122,   -117,   -145,
    -167,   -144,   -112,   -125,
    -159,
};
const int16_t wav_bandlimited_comb_3[] = {
    -190,   -184,   -179,   -172,
    -166,   -156,   -150,   -143,
    -133,   -128,   -121,   -114,
    -110,   -106,   -103,   -102,
    -103,   -102,   -107,   -111,
    -116,   -124,   -132,   -141,
    -152,   -161,   -174,   -185,
    -197,   -206,   -218,   -226,
    -235,   -241,   -246,   -249,
    -249,   -248,   -243,   -238,
    -226,   -217,   -199,   -185,
    -164,   -143,   -120,    -93,
     -68,    -40,    -12,     17,
      47,     73,    101,    128,
     151,    176,    194,    213,
     227,    239,    248,    253,
   32767,    252,    248,    239,
     228,    212,    195,    175,
     151,    129,    100,     74,
      46,     17,    -11,    -41,
     -67,    -94,   -120,   -142,
    -165,   -184,   -200,   -216,
    -228,   -236,   -243,   -249,
    -248,   -250,   -245,   -242,
    -235,   -225,   -219,   -206,
    -197,   -184,   -174,   -162,
    -152,   -141,   -131,   -125,
    -116,   -110,   -107,   -104,
    -101,   -102,   -104,   -105,
    -111,   -114,   -121,   -127,
    -134,   -142,   -150,   -158,
    -164,   -173,   -178,   -185,
    -189,   -195,   -197,   -199,
    -200,   -201,   -199,   -198,
    -193,   -191,   -186,   -180,
    -175,   -170,   -161,   -158,
    -150,   -145,   -139,   -135,
    -131,   -127,   -124,   -123,
    -123,   -122,   -123,   -126,
    -127,   -132,   -134,   -141,
    -145,   -150,   -155,   -161,
    -167,   -170,   -177,   -179,
    -184,   -187,   -189,   -189,
    -192,   -190,   -189,   -187,
    -186,   -181,   -178,   -174,
    -168,   -165,   -158,   -153,
    -150,   -143,   -141,   -135,
    -132,   -131,   -127,   -126,
    -128,   -125,   -129,   -129,
    -133,   -136,   -139,   -144,
    -149,   -154,   -159,   -163,
    -169,   -174,   -178,   -181,
    -185,   -188,   -189,   -190,
    -192,   -189,   -189,   -187,
    -183,   -180,   -177,   -170,
    -167,   -160,   -156,   -151,
    -144,   -140,   -135,   -131,
    -129,   -124,   -124,   -123,
    -121,   -123,   -125,   -128,
    -129,   -136,   -139,   -145,
    -150,   -157,   -163,   -168,
    -176,   -180,   -186,   -190,
    -195,   -196,   -200,   -201,
    -200,   -199,   -197,   -194,
    -190,
};
const int16_t wav_bandlimited_comb_4[] = {
    -201,    -92,   -117,   -221,
    -162,    -74,   -164,   -225,
    -112,    -86,   -211,   -197,
     -73,   -128,   -236,   -148,
     -61,   -183,   -232,    -91,
     -84,   -235,   -191,    -50,
    -140,   -260,   -125,    -44,
    -211,   -243,    -57,    -83,
    -272,   -181,    -12,   -162,
    -296,    -89,    -15,   -261,
    -261,      7,    -84,   -343,
    -160,     66,   -212,   -372,
      -7,     52,   -383,   -304,
     173,    -81,   -563,    -88,
     341,   -408,   -711,    424,
     462,  -1367,   -794,   3905,
   32766,   3905,   -795,  -1366,
     462,    423,   -710,   -408,
     341,    -89,   -562,    -81,
     172,   -303,   -383,     51,
      -6,   -372,   -212,     66,
    -160,   -344,    -83,      6,
    -260,   -261,    -15,    -90,
    -295,   -162,    -12,   -181,
    -273,    -83,    -56,   -243,
    -211,    -44,   -126,   -259,
    -141,    -48,   -193,   -234,
     -85,    -90,   -232,   -183,
     -62,   -146,   -238,   -127,
     -73,   -198,   -210,    -86,
    -113,   -224,   -164,    -75,
    -161,   -220,   -119,    -91,
    -202,   -191,    -88,   -130,
    -217,   -151,    -84,   -172,
    -208,   -111,   -107,   -202,
    -177,    -92,   -142,   -211,
    -140,    -93,   -180,   -197,
    -107,   -118,   -204,   -165,
     -93,   -155,   -205,   -129,
    -103,   -187,   -185,   -105,
    -129,   -203,   -155,    -96,
    -164,   -200,   -121,   -111,
    -192,   -176,   -102,   -140,
    -202,   -144,   -102,   -171,
    -193,   -116,   -119,   -195,
    -168,   -100,   -149,   -201,
    -136,   -104,   -181,   -186,
    -109,   -128,   -198,   -159,
    -100,   -158,   -199,   -126,
    -111,   -186,   -180,   -104,
    -137,   -200,   -149,   -101,
    -167,   -196,   -119,   -115,
    -193,   -172,   -101,   -144,
    -203,   -139,   -103,   -176,
    -191,   -111,   -122,   -199,
    -164,    -97,   -154,   -203,
    -130,   -104,   -186,   -187,
    -101,   -131,   -205,   -154,
     -94,   -164,   -204,   -119,
    -106,   -198,   -179,    -94,
    -139,   -211,   -143,    -91,
    -177,   -203,   -106,   -111,
    -209,   -171,    -85,   -150,
    -218,   -129,    -88,   -193,
    -200,
};
const int16_t wav_bandlimited_comb_5[] = {
       0,   -130,   -195,   -104,
      21,     14,   -125,   -204,
    -116,     24,     26,   -117,
    -214,   -130,     25,     42,
    -108,   -225,   -147,     26,
      61,    -98,   -237,   -168,
      28,     83,    -84,   -254,
    -191,     28,    111,    -68,
    -273,   -222,     29,    146,
     -45,   -299,   -263,     29,
     195,    -14,   -333,   -325,
      31,    266,     35,   -387,
    -421,     31,    387,    118,
    -484,   -599,     31,    636,
     304,   -714,  -1072,     31,
    1501,   1103,  -2083,  -6238,
   32766,  -6238,  -2084,   1105,
    1500,     31,  -1072,   -715,
     305,    636,     32,   -601,
    -483,    119,    385,     32,
    -421,   -386,     34,    266,
      30,   -324,   -333,    -14,
     195,     29,   -263,   -299,
     -45,    146,     29,   -222,
    -273,    -68,    111,     28,
    -191,   -254,    -84,     83,
      27,   -166,   -239,    -97,
      61,     26,   -147,   -225,
    -108,     42,     25,   -130,
    -214,   -117,     26,     24,
    -116,   -204,   -125,     13,
      23,   -105,   -195,   -130,
       0,     20,    -93,   -187,
    -135,    -11,     18,    -83,
    -180,   -139,    -21,     15,
     -74,   -172,   -143,    -32,
      15,    -67,   -165,   -147,
     -40,     12,    -60,   -157,
    -150,    -49,     10,    -54,
    -150,   -152,    -58,      8,
     -47,   -145,   -154,    -64,
       3,    -40,   -138,   -157,
     -71,      1,    -35,   -133,
    -156,    -80,     -2,    -30,
    -125,   -159,    -86,     -5,
     -26,   -119,   -159,    -93,
      -9,    -21,   -112,   -160,
     -99,    -14,    -16,   -106,
    -160,   -106,    -17,    -12,
    -100,   -160,   -112,    -21,
      -9,    -93,   -160,   -118,
     -25,     -7,    -85,   -159,
    -124,    -32,     -1,    -79,
    -158,   -132,    -35,      2,
     -73,   -156,   -138,    -40,
       3,    -64,   -154,   -145,
     -47,      7,    -56,   -153,
    -151,    -52,      8,    -47,
    -151,   -157,    -60,     11,
     -39,   -147,   -165,    -67,
      15,    -32,   -143,   -172,
     -74,     15,    -21,   -139,
    -180,    -83,     18,    -11,
    -135,   -187,    -94,     21,
       0,
};
const int16_t wav_bandlimited_comb_6[] = {
       0,   -260,     12,   -272,
      24,   -285,     38,   -298,
      50,   -310,     62,   -322,
      74,   -334,     85,   -344,
      96,   -356,    108,   -368,
     120,   -380,    131,   -390,
     142,   -401,    151,   -410,
     161,   -419,    169,   -428,
     180,   -439,    189,   -447,
     196,   -453,    203,   -461,
     211,   -469,    218,   -475,
     225,   -482,    230,   -486,
     234,   -491,    240,   -496,
     244,   -500,    247,   -502,
     250,   -505,    251,   -506,
     253,   -507,    253,   -507,
   32765,   -507,    253,   -507,
     252,   -505,    251,   -505,
     250,   -502,    246,   -498,
     242,   -494,    238,   -490,
     234,   -486,    229,   -480,
     224,   -476,    219,   -469,
     211,   -461,    203,   -453,
     195,   -446,    189,   -439,
     181,   -430,    170,   -419,
     161,   -411,    152,   -400,
     140,   -389,    131,   -380,
     120,   -369,    110,   -358,
      98,   -346,     86,   -334,
      74,   -322,     61,   -308,
      48,   -296,     36,   -284,
      24,   -273,     14,   -262,
       1,   -248,    -12,   -236,
     -24,   -224,    -36,   -212,
     -48,   -200,    -61,   -186,
     -74,   -174,    -86,   -162,
     -98,   -150,   -110,   -139,
    -120,   -128,   -131,   -119,
    -140,   -108,   -152,    -97,
    -161,    -89,   -170,    -78,
    -181,    -69,   -189,    -62,
    -195,    -55,   -203,    -47,
    -211,    -39,   -219,    -32,
    -224,    -28,   -229,    -22,
    -234,    -18,   -238,    -14,
    -242,    -10,   -246,     -6,
    -250,     -3,   -251,     -3,
    -252,     -1,   -253,     -1,
    -253,     -1,   -253,     -1,
    -253,     -2,   -251,     -3,
    -250,     -6,   -247,     -8,
    -244,    -12,   -240,    -17,
    -234,    -22,   -230,    -26,
    -225,    -33,   -218,    -39,
    -211,    -47,   -203,    -55,
    -196,    -61,   -189,    -69,
    -180,    -80,   -169,    -89,
    -161,    -98,   -151,   -107,
    -142,   -118,   -131,   -128,
    -120,   -140,   -108,   -152,
     -96,   -164,    -85,   -174,
     -74,   -186,    -62,   -198,
     -50,   -210,    -38,   -223,
     -24,   -236,    -12,   -248,
       0,
};
const int16_t wav_bandlimited_comb_7[] = {
       0,   -101,   -495,    -60,
     -22,   -500,   -136,     49,
    -484,   -223,    106,   -442,
    -317,    142,   -375,   -412,
     155,   -288,   -501,    141,
    -184,   -574,     94,    -66,
    -628,     18,     57,   -656,
     -87,    177,   -648,   -222,
     287,   -602,   -378,    375,
    -512,   -553,    433,   -374,
    -740,    450,   -183,   -932,
     414,     63,  -1119,    310,
     374,  -1294,    114,    772,
   -1448,   -222,   1310,  -1578,
    -801,   2133,  -1672,  -2002,
    3876,  -1734,  -6442,  14783,
   32766,  14782,  -6443,  -1732,
    3875,  -2001,  -1674,   2135,
    -802,  -1577,   1308,   -220,
   -1449,    773,    112,  -1292,
     373,    310,  -1118,     62,
     414,   -931,   -184,    450,
    -740,   -374,    434,   -555,
    -510,    374,   -378,   -601,
     285,   -220,   -649,    177,
     -87,   -655,     56,     19,
    -629,    -66,     94,   -574,
    -183,    139,   -499,   -289,
     156,   -413,   -375,    142,
    -317,   -441,    105,   -223,
    -483,     47,   -134,   -500,
     -24,    -59,   -494,   -102,
       0,   -466,   -183,     40,
    -422,   -257,     57,   -361,
    -327,     57,   -294,   -380,
      34,   -223,   -418,     -3,
    -155,   -437,    -55,    -92,
    -439,   -115,    -42,   -420,
    -180,     -6,   -387,   -243,
      14,   -341,   -301,     16,
    -285,   -350,      3,   -226,
    -387,    -25,   -166,   -408,
     -68,   -110,   -411,   -121,
     -62,   -400,   -177,    -27,
    -373,   -235,     -5,   -333,
    -291,      3,   -286,   -336,
      -8,   -230,   -374,    -31,
    -174,   -396,    -70,   -118,
    -405,   -117,    -71,   -396,
    -173,    -33,   -373,   -229,
      -9,   -336,   -285,      1,
    -289,   -334,     -5,   -234,
    -374,    -27,   -176,   -401,
     -62,   -120,   -412,   -110,
     -68,   -408,   -165,    -26,
    -387,   -226,      4,   -351,
    -286,     18,   -302,   -341,
      15,   -244,   -387,     -6,
    -179,   -421,    -42,   -115,
    -438,    -93,    -55,   -436,
    -156,     -3,   -418,   -223,
      34,   -379,   -295,     57,
    -326,   -363,     59,   -258,
    -422,     40,   -182,   -467,
       0,
};
const int16_t wav_bandlimited_comb_8[] = {
    -640,   -727,   -239,    149,
    -114,   -674,   -747,   -215,
     185,   -116,   -715,   -769,
    -188,    228,   -118,   -761,
    -800,   -155,    282,   -120,
    -820,   -836,   -115,    349,
    -122,   -894,   -881,    -65,
     433,   -123,   -988,   -942,
       2,    543,   -123,  -1115,
   -1025,     92,    697,   -123,
   -1295,  -1144,    223,    925,
    -124,  -1569,  -1329,    429,
    1296,   -125,  -2036,  -1659,
     807,   2004,   -126,  -3025,
   -2397,   1722,   3890,   -126,
   -6482,  -5603,   7218,  24634,
   32766,  24634,   7218,  -5602,
   -6483,   -126,   3889,   1724,
   -2399,  -3023,   -127,   2004,
     807,  -1658,  -2037,   -125,
    1296,    429,  -1329,  -1569,
    -124,    925,    223,  -1143,
   -1296,   -124,    698,     93,
   -1026,  -1115,   -123,    543,
       3,   -943,   -988,   -123,
     432,    -63,   -882,   -894,
    -121,    347,   -114,   -836,
    -820,   -120,    282,   -155,
    -799,   -762,   -118,    228,
    -187,   -771,   -714,   -116,
     186,   -216,   -747,   -674,
    -114,    149,   -239,   -727,
    -639,   -113,    118,   -259,
    -711,   -611,   -109,     92,
    -278,   -697,   -585,   -107,
      70,   -295,   -686,   -561,
    -105,     50,   -309,   -676,
    -542,   -101,     32,   -323,
    -667,   -524,    -97,     16,
    -336,   -661,   -506,    -93,
       1,   -347,   -656,   -490,
     -91,     -9,   -360,   -650,
    -477,    -85,    -22,   -370,
    -647,   -464,    -80,    -30,
    -384,   -643,   -451,    -74,
     -41,   -394,   -641,   -439,
     -69,    -48,   -405,   -640,
    -428,    -62,    -56,   -416,
    -640,   -416,    -56,    -62,
    -428,   -640,   -404,    -49,
     -70,   -438,   -641,   -394,
     -40,    -76,   -450,   -643,
    -383,    -31,    -81,   -463,
    -646,   -372,    -21,    -84,
    -478,   -650,   -360,    -10,
     -89,   -492,   -654,   -349,
       3,    -94,   -506,   -661,
    -336,     16,    -97,   -524,
    -667,   -323,     32,   -101,
    -542,   -676,   -309,     50,
    -105,   -561,   -686,   -295,
      70,   -107,   -585,   -697,
    -278,     92,   -109,   -611,
    -711,   -259,    118,   -112,
    -640,
};
const int16_t wav_bandlimited_comb_9[] = {
       0,   -521,  -1050,  -1263,
   -1024,   -465,     82,    279,
       1,   -602,  -1168,  -1350,
   -1024,   -374,    216,    378,
      -1,   -706,  -1320,  -1462,
   -1024,   -252,    391,    508,
       0,   -848,  -1529,  -1615,
   -1025,    -83,    643,    694,
       1,  -1056,  -1839,  -1848,
   -1023,    177,   1038,    994,
      -1,  -1398,  -2363,  -2246,
   -1025,    651,   1768,   1559,
       1,  -2094,  -3463,  -3124,
   -1024,   1791,   3640,   3114,
       0,  -4354,  -7452,  -6767,
   -1024,   8955,  20343,  29349,
   32765,  29349,  20344,   8954,
   -1024,  -6766,  -7453,  -4354,
       0,   3115,   3639,   1791,
   -1024,  -3124,  -3462,  -2094,
      -1,   1561,   1767,    651,
   -1024,  -2248,  -2361,  -1399,
       0,    993,   1038,    178,
   -1024,  -1848,  -1839,  -1055,
       0,    694,    643,    -83,
   -1024,  -1616,  -1529,   -848,
       1,    507,    392,   -253,
   -1024,  -1462,  -1319,   -708,
       1,    378,    214,   -373,
   -1023,  -1351,  -1167,   -603,
       0,    281,     81,   -464,
   -1025,  -1263,  -1049,   -522,
       0,    204,    -25,   -538,
   -1024,  -1193,   -955,   -453,
      -1,    140,   -113,   -598,
   -1024,  -1136,   -872,   -398,
      -1,     86,   -187,   -652,
   -1024,  -1084,   -803,   -348,
      -1,     38,   -254,   -697,
   -1025,  -1039,   -739,   -305,
       0,     -6,   -314,   -739,
   -1024,   -999,   -681,   -264,
      -1,    -44,   -371,   -778,
   -1024,   -961,   -626,   -227,
       1,    -84,   -422,   -816,
   -1024,   -923,   -576,   -189,
      -1,   -118,   -474,   -853,
   -1023,   -887,   -525,   -154,
      -1,   -154,   -524,   -888,
   -1023,   -852,   -475,   -118,
       0,   -191,   -574,   -924,
   -1024,   -815,   -423,    -83,
       0,   -227,   -626,   -961,
   -1023,   -779,   -371,    -44,
       0,   -265,   -681,   -999,
   -1023,   -740,   -314,     -6,
       1,   -306,   -739,  -1039,
   -1024,   -698,   -254,     38,
       0,   -349,   -802,  -1085,
   -1025,   -650,   -187,     84,
       1,   -398,   -874,  -1134,
   -1025,   -598,   -113,    140,
       0,   -454,   -954,  -1194,
   -1024,   -538,    -24,    203,
       0,
};
const int16_t wav_bandlimited_comb_10[] = {
       0,   -492,  -1080,  -1617,
   -1967,  -2040,  -1807,  -1322,
    -691,    -79,    371,    533,
     359,   -114,   -784,  -1487,
   -2044,  -2316,  -2219,  -1765,
   -1053,   -252,    439,    843,
     844,    423,   -334,  -1250,
   -2106,  -2679,  -2811,  -2442,
   -1639,   -575,    491,   1293,
    1610,   1325,    467,   -785,
   -2150,  -3284,  -3882,  -3741,
   -2828,  -1296,    526,   2207,
    3300,   3446,   2485,    496,
   -2177,  -4961,  -7173,  -8126,
   -7279,  -4364,    544,   7005,
   14274,  21393,  27381,  31367,
   32767,  31367,  27381,  21394,
   14273,   7005,    545,  -4365,
   -7279,  -8126,  -7172,  -4963,
   -2175,    495,   2485,   3447,
    3298,   2208,    527,  -1297,
   -2828,  -3740,  -3883,  -3284,
   -2149,   -787,    469,   1324,
    1610,   1293,    492,   -576,
   -1639,  -2442,  -2810,  -2680,
   -2106,  -1250,   -334,    424,
     843,    843,    439,   -252,
   -1053,  -1765,  -2218,  -2316,
   -2046,  -1485,   -785,   -115,
     361,    533,    369,    -77,
    -692,  -1321,  -1808,  -2040,
   -1968,  -1615,  -1081,   -492,
       1,    279,    285,     18,
    -447,   -992,  -1486,  -1802,
   -1874,  -1684,  -1287,   -781,
    -294,     53,    183,     62,
    -271,   -736,  -1212,  -1584,
   -1765,  -1707,  -1435,  -1012,
    -550,   -158,     64,     68,
    -147,   -527,   -972,  -1376,
   -1639,  -1695,  -1538,  -1202,
    -776,   -365,    -69,     41,
     -65,   -354,   -756,  -1173,
   -1496,  -1655,  -1601,  -1359,
    -982,   -567,   -218,    -16,
     -17,   -212,   -561,   -970,
   -1341,  -1583,  -1634,  -1485,
   -1169,   -769,   -381,   -102,
       1,   -102,   -381,   -768,
   -1170,  -1485,  -1634,  -1582,
   -1342,   -970,   -560,   -214,
     -15,    -18,   -216,   -568,
    -982,  -1358,  -1602,  -1654,
   -1498,  -1171,   -757,   -354,
     -64,     39,    -67,   -366,
    -776,  -1202,  -1537,  -1697,
   -1637,  -1377,   -972,   -526,
    -148,     68,     65,   -159,
    -550,  -1012,  -1435,  -1707,
   -1764,  -1585,  -1212,   -736,
    -271,     62,    183,     54,
    -295,   -781,  -1286,  -1685,
   -1874,  -1802,  -1485,   -994,
    -446,     19,    284,    280,
       0,
};
const int16_t wav_bandlimited_comb_11[] = {
       0,   -465,  -1027,  -1635,
   -2234,  -2768,  -3185,  -3439,
   -3506,  -3375,  -3045,  -2548,
   -1922,  -1222,   -513,    144,
     677,   1040,   1185,   1096,
     768,    223,   -497,  -1330,
   -2206,  -3042,  -3759,  -4284,
   -4553,  -4537,  -4211,  -3596,
   -2730,  -1681,   -535,    609,
    1637,   2450,   2955,   3078,
    2784,   2057,    936,   -514,
   -2189,  -3958,  -5661,  -7140,
   -8230,  -8778,  -8665,  -7805,
   -6147,  -3711,   -543,   3233,
    7471,  11973,  16521,  20884,
   24832,  28154,  30667,  32235,
   32765,  32234,  30668,  28153,
   24833,  20883,  16522,  11972,
    7471,   3235,   -546,  -3708,
   -6149,  -7804,  -8666,  -8778,
   -8229,  -7140,  -5662,  -3957,
   -2189,   -515,    936,   2058,
    2783,   3079,   2954,   2451,
    1637,    608,   -534,  -1681,
   -2731,  -3595,  -4213,  -4534,
   -4555,  -4283,  -3760,  -3041,
   -2207,  -1329,   -498,    224,
     767,   1096,   1186,   1040,
     677,    143,   -512,  -1223,
   -1921,  -2549,  -3045,  -3373,
   -3508,  -3439,  -3184,  -2768,
   -2235,  -1634,  -1028,   -464,
      -1,    329,    491,    482,
     300,    -30,   -476,   -996,
   -1539,  -2054,  -2496,  -2826,
   -3014,  -3046,  -2924,  -2658,
   -2277,  -1819,  -1325,   -845,
    -416,    -85,    125,    193,
     116,    -97,   -425,   -836,
   -1291,  -1748,  -2164,  -2502,
   -2731,  -2829,  -2794,  -2623,
   -2340,  -1966,  -1541,  -1103,
    -693,   -347,   -101,     29,
      27,   -105,   -351,   -692,
   -1094,  -1519,  -1926,  -2282,
   -2548,  -2706,  -2738,  -2640,
   -2426,  -2112,  -1731,  -1314,
    -906,   -537,   -249,    -64,
       0,    -63,   -249,   -538,
    -905,  -1315,  -1730,  -2113,
   -2425,  -2641,  -2737,  -2706,
   -2549,  -2281,  -1927,  -1518,
   -1094,   -693,   -351,   -104,
      26,     29,    -99,   -349,
    -692,  -1103,  -1542,  -1966,
   -2339,  -2624,  -2793,  -2830,
   -2730,  -2503,  -2163,  -1748,
   -1292,   -836,   -424,    -97,
     115,    194,    124,    -84,
    -417,   -844,  -1325,  -1820,
   -2276,  -2659,  -2923,  -3047,
   -3013,  -2826,  -2497,  -2054,
   -1538,   -996,   -477,    -30,
     301,    481,    492,    328,
       0,
};
const int16_t wav_bandlimited_comb_12[] = {
       0,   -449,   -979,  -1569,
   -2199,  -2835,  -3457,  -4036,
   -4543,  -4957,  -5256,  -5424,
   -5448,  -5325,  -5052,  -4639,
   -4096,  -3442,  -2703,  -1903,
   -1081,   -263,    507,   1203,
    1783,   2222,   2496,   2578,
    2462,   2138,   1613,    892,
       1,  -1039,  -2188,  -3405,
   -4648,  -5859,  -6991,  -7989,
   -8798,  -9374,  -9669,  -9645,
   -9277,  -8542,  -7429,  -5944,
   -4096,  -1911,    578,   3319,
    6267,   9351,  12509,  15664,
   18744,  21676,  24384,  26806,
   28877,  30544,  31768,  32514,
   32767,  32515,  31768,  30544,
   28877,  26805,  24385,  21676,
   18744,  15664,  12508,   9352,
    6266,   3321,    576,  -1911,
   -4095,  -5944,  -7429,  -8542,
   -9277,  -9646,  -9668,  -9374,
   -8798,  -7989,  -6992,  -5859,
   -4646,  -3407,  -2187,  -1039,
       0,    893,   1613,   2137,
    2463,   2579,   2494,   2222,
    1785,   1201,    508,   -263,
   -1081,  -1904,  -2702,  -3443,
   -4095,  -4639,  -5052,  -5325,
   -5449,  -5423,  -5256,  -4957,
   -4544,  -4034,  -3459,  -2835,
   -2197,  -1571,   -978,   -449,
      -1,    351,    591,    711,
     713,    595,    369,     41,
    -368,   -839,  -1355,  -1890,
   -2423,  -2927,  -3389,  -3782,
   -4095,  -4317,  -4436,  -4452,
   -4363,  -4179,  -3903,  -3552,
   -3144,  -2689,  -2218,  -1740,
   -1285,   -867,   -502,   -212,
       1,    120,    147,     77,
     -81,   -325,   -639,  -1012,
   -1426,  -1866,  -2307,  -2737,
   -3134,  -3480,  -3764,  -3971,
   -4097,  -4130,  -4076,  -3934,
   -3710,  -3417,  -3066,  -2669,
   -2250,  -1821,  -1404,  -1015,
    -671,   -387,   -174,    -46,
       1,    -44,   -176,   -386,
    -672,  -1014,  -1404,  -1821,
   -2250,  -2670,  -3065,  -3417,
   -3710,  -3934,  -4077,  -4129,
   -4097,  -3971,  -3765,  -3480,
   -3132,  -2738,  -2308,  -1865,
   -1426,  -1012,   -640,   -324,
     -82,     79,    145,    121,
       0,   -210,   -504,   -866,
   -1285,  -1741,  -2217,  -2690,
   -3142,  -3554,  -3902,  -4179,
   -4364,  -4451,  -4436,  -4317,
   -4095,  -3783,  -3388,  -2928,
   -2422,  -1890,  -1355,   -840,
    -367,     42,    367,    596,
     712,    712,    591,    350,
       0,
};
const int16_t wav_bandlimited_comb_13[] = {
       0,    457,    858,   1194,
    1456,   1640,   1738,   1748,
    1666,   1490,   1224,    864,
     416,   -111,   -718,  -1393,
   -2126,  -2908,  -3728,  -4569,
   -5424,  -6274,  -7104,  -7901,
   -8651,  -9333,  -9938, -10453,
  -10856, -11145, -11301, -11319,
  -11186, -10901, -10454,  -9844,
   -9071,  -8133,  -7036,  -5783,
   -4384,  -2842,  -1178,    607,
    2489,   4457,   6490,   8576,
   10689,  12809,  14923,  17000,
   19028,  20980,  22840,  24588,
   26205,  27675,  28982,  30111,
   31054,  31798,  32332,  32658,
   32766,  32658,  32332,  31798,
   31053,  30113,  28981,  27675,
   26204,  24589,  22840,  20981,
   19026,  17002,  14921,  12811,
   10688,   8575,   6491,   4457,
    2490,    605,  -1176,  -2844,
   -4383,  -5783,  -7036,  -8134,
   -9069,  -9845, -10454, -10901,
  -11186, -11319, -11302, -11143,
  -10858, -10451,  -9939,  -9334,
   -8650,  -7901,  -7104,  -6274,
   -5423,  -4571,  -3727,  -2908,
   -2126,  -1393,   -718,   -111,
     416,    864,   1223,   1491,
    1666,   1748,   1739,   1639,
    1456,   1194,    857,    458,
       0,   -504,  -1048,  -1615,
   -2202,  -2795,  -3383,  -3956,
   -4508,  -5024,  -5500,  -5927,
   -6300,  -6610,  -6856,  -7034,
   -7143,  -7177,  -7144,  -7043,
   -6873,  -6643,  -6355,  -6017,
   -5634,  -5212,  -4764,  -4292,
   -3809,  -3320,  -2838,  -2368,
   -1919,  -1501,  -1115,   -774,
    -483,   -240,    -57,     67,
     132,    131,     74,    -46,
    -223,   -454,   -734,  -1058,
   -1420,  -1815,  -2234,  -2669,
   -3113,  -3561,  -4000,  -4426,
   -4828,  -5203,  -5542,  -5839,
   -6092,  -6289,  -6436,  -6523,
   -6554,  -6523,  -6436,  -6290,
   -6090,  -5840,  -5542,  -5203,
   -4829,  -4425,  -4000,  -3560,
   -3114,  -2670,  -2233,  -1815,
   -1420,  -1058,   -734,   -454,
    -222,    -47,     73,    132,
     132,     67,    -57,   -241,
    -481,   -775,  -1116,  -1499,
   -1920,  -2368,  -2838,  -3321,
   -3808,  -4292,  -4763,  -5214,
   -5632,  -6018,  -6355,  -6644,
   -6872,  -7043,  -7143,  -7179,
   -7142,  -7034,  -6856,  -6610,
   -6300,  -5927,  -5500,  -5024,
   -4508,  -3956,  -3384,  -2793,
   -2203,  -1616,  -1046,   -505,
       0,
};
const int16_t wav_bandlimited_comb_14[] = {
       0,    804,   1608,   2410,
    3212,   4011,   4808,   5601,
    6393,   7178,   7963,   8738,
    9512,  10278,  11038,  11793,
   12539,  13277,  14011,  14731,
   15446,  16150,  16845,  17530,
   18204,  18867,  19518,  20159,
   20787,  21402,  22003,  22595,
   23168,  23731,  24278,  24811,
   25328,  25831,  26319,  26788,
   27244,  27682,  28105,  28509,
   28897,  29268,  29619,  29956,
   30271,  30571,  30851,  31112,
   31354,  31580,  31784,  31970,
   32136,  32284,  32412,  32518,
   32609,  32678,  32726,  32755,
   32767,  32756,  32727,  32677,
   32608,  32520,  32410,  32285,
   32136,  31970,  31784,  31579,
   31355,  31112,  30851,  30571,
   30271,  29955,  29620,  29268,
   28897,  28509,  28104,  27683,
   27244,  26789,  26317,  25832,
   25328,  24811,  24278,  23730,
   23170,  22593,  22004,  21402,
   20787,  20158,  19519,  18867,
   18204,  17530,  16844,  16151,
   15446,  14732,  14009,  13278,
   12539,  11792,  11039,  10278,
    9512,   8738,   7962,   7180,
    6391,   5602,   4808,   4011,
    3212,   2410,   1608,    803,
       1,   -804,  -1608,  -2410,
   -3213,  -4010,  -4807,  -5603,
   -6392,  -7178,  -7963,  -8738,
   -9512, -10278, -11039, -11792,
  -12539, -13278, -14009, -14732,
  -15446, -16151, -16844, -17530,
  -18204, -18867, -19519, -20158,
  -20787, -21402, -22004, -22593,
  -23170, -23730, -24278, -24811,
  -25328, -25832, -26317, -26789,
  -27244, -27683, -28104, -28509,
  -28898, -29266, -29621, -29955,
  -30271, -30571, -30851, -31112,
  -31355, -31579, -31784, -31970,
  -32137, -32283, -32411, -32520,
  -32608, -32678, -32726, -32756,
  -32766, -32756, -32727, -32677,
  -32608, -32520, -32411, -32283,
  -32138, -31969, -31784, -31579,
  -31355, -31112, -30852, -30569,
  -30273, -29954, -29620, -29268,
  -28897, -28509, -28105, -27682,
  -27244, -26789, -26318, -25830,
  -25330, -24809, -24279, -23731,
  -23169, -22593, -22004, -21403,
  -20786, -20158, -19519, -18867,
  -18204, -17530, -16845, -16150,
  -15446, -14732, -14009, -13278,
  -12539, -11793, -11038, -10278,
   -9512,  -8739,  -7961,  -7179,
   -6393,  -5601,  -4808,  -4012,
   -3210,  -2411,  -1608,   -804,
       0,
};


const int16_t* waveform_table[] = {
  wav_formant_sine,
  wav_formant_square,
  wav_sine,
  wav_bandlimited_comb_0,
  wav_bandlimited_comb_1,
  wav_bandlimited_comb_2,
  wav_bandlimited_comb_3,
  wav_bandlimited_comb_4,
  wav_bandlimited_comb_5,
  wav_bandlimited_comb_6,
  wav_bandlimited_comb_7,
  wav_bandlimited_comb_8,
  wav_bandlimited_comb_9,
  wav_bandlimited_comb_10,
  wav_bandlimited_comb_11,
  wav_bandlimited_comb_12,
  wav_bandlimited_comb_13,
  wav_bandlimited_comb_14,
};

const int16_t ws_moderate_overdrive[] = {
  -32766, -32728, -32689, -32648,
  -32607, -32564, -32519, -32474,
  -32427, -32378, -32328, -32277,
  -32224, -32170, -32113, -32056,
  -31996, -31935, -31872, -31807,
  -31740, -31671, -31600, -31527,
  -31451, -31374, -31294, -31212,
  -31128, -31041, -30951, -30859,
  -30765, -30667, -30567, -30464,
  -30358, -30250, -30138, -30022,
  -29904, -29782, -29657, -29529,
  -29397, -29261, -29122, -28979,
  -28832, -28681, -28526, -28367,
  -28204, -28036, -27864, -27688,
  -27507, -27321, -27131, -26936,
  -26736, -26531, -26321, -26106,
  -25886, -25660, -25429, -25192,
  -24950, -24702, -24449, -24190,
  -23925, -23654, -23377, -23094,
  -22805, -22510, -22209, -21902,
  -21588, -21268, -20942, -20609,
  -20270, -19924, -19573, -19215,
  -18850, -18479, -18102, -17718,
  -17328, -16932, -16530, -16121,
  -15707, -15286, -14859, -14427,
  -13989, -13545, -13095, -12640,
  -12180, -11715, -11244, -10769,
  -10289,  -9804,  -9315,  -8822,
   -8324,  -7823,  -7319,  -6810,
   -6299,  -5785,  -5268,  -4748,
   -4226,  -3703,  -3177,  -2650,
   -2121,  -1592,  -1062,   -531,
       0,    531,   1062,   1592,
    2122,   2650,   3177,   3703,
    4227,   4749,   5268,   5785,
    6299,   6811,   7319,   7824,
    8325,   8822,   9315,   9804,
   10289,  10769,  11244,  11715,
   12180,  12641,  13095,  13545,
   13989,  14427,  14860,  15286,
   15707,  16122,  16530,  16933,
   17329,  17719,  18102,  18479,
   18850,  19215,  19573,  19925,
   20270,  20609,  20942,  21268,
   21588,  21902,  22209,  22510,
   22806,  23094,  23377,  23654,
   23925,  24190,  24449,  24703,
   24950,  25192,  25429,  25660,
   25886,  26106,  26321,  26531,
   26736,  26936,  27131,  27322,
   27507,  27688,  27865,  28037,
   28204,  28367,  28526,  28681,
   28832,  28979,  29122,  29262,
   29397,  29529,  29658,  29783,
   29904,  30023,  30138,  30250,
   30359,  30465,  30568,  30668,
   30765,  30860,  30952,  31041,
   31128,  31212,  31294,  31374,
   31452,  31527,  31600,  31671,
   31740,  31807,  31872,  31935,
   31996,  32056,  32114,  32170,
   32224,  32277,  32329,  32379,
   32427,  32474,  32520,  32564,
   32607,  32648,  32689,  32728,
   32728,
};
const int16_t ws_violent_overdrive[] = {
  -32766, -32766, -32766, -32766,
  -32766, -32766, -32766, -32766,
  -32766, -32766, -32766, -32766,
  -32766, -32766, -32766, -32766,
  -32766, -32766, -32766, -32766,
  -32766, -32766, -32766, -32766,
  -32766, -32766, -32766, -32766,
  -32766, -32766, -32766, -32766,
  -32766, -32766, -32765, -32765,
  -32765, -32765, -32765, -32765,
  -32765, -32765, -32765, -32764,
  -32764, -32764, -32764, -32763,
  -32763, -32763, -32762, -32762,
  -32761, -32760, -32760, -32759,
  -32758, -32757, -32756, -32754,
  -32753, -32751, -32749, -32747,
  -32744, -32741, -32738, -32734,
  -32730, -32725, -32720, -32713,
  -32706, -32698, -32689, -32679,
  -32668, -32655, -32640, -32623,
  -32604, -32582, -32558, -32531,
  -32499, -32464, -32424, -32379,
  -32327, -32269, -32204, -32130,
  -32046, -31951, -31844, -31724,
  -31587, -31434, -31260, -31065,
  -30845, -30598, -30320, -30008,
  -29658, -29266, -28828, -28340,
  -27795, -27189, -26518, -25774,
  -24954, -24053, -23064, -21985,
  -20811, -19541, -18172, -16705,
  -15142, -13486, -11742,  -9919,
   -8025,  -6073,  -4075,  -2045,
       0,   2045,   4075,   6073,
    8025,   9919,  11742,  13486,
   15142,  16705,  18172,  19541,
   20811,  21985,  23064,  24053,
   24954,  25774,  26518,  27189,
   27795,  28340,  28828,  29266,
   29658,  30008,  30320,  30598,
   30845,  31065,  31260,  31434,
   31587,  31724,  31844,  31951,
   32046,  32130,  32204,  32269,
   32327,  32379,  32424,  32464,
   32499,  32531,  32558,  32582,
   32604,  32623,  32640,  32655,
   32668,  32679,  32689,  32698,
   32706,  32713,  32720,  32725,
   32730,  32734,  32738,  32741,
   32744,  32747,  32749,  32751,
   32753,  32754,  32756,  32757,
   32758,  32759,  32760,  32760,
   32761,  32762,  32762,  32763,
   32763,  32763,  32764,  32764,
   32764,  32764,  32765,  32765,
   32765,  32765,  32765,  32765,
   32765,  32765,  32765,  32766,
   32766,  32766,  32766,  32766,
   32766,  32766,  32766,  32766,
   32766,  32766,  32766,  32766,
   32766,  32766,  32766,  32766,
   32766,  32766,  32766,  32766,
   32766,  32766,  32766,  32766,
   32766,  32766,  32766,  32766,
   32766,  32766,  32766,  32766,
   32766,
};
const int16_t ws_sine_fold[] = {
  -32766, -32682, -32595, -32504,
  -32410, -32315, -32218, -32121,
  -32025, -31931, -31840, -31754,
  -31673, -31599, -31531, -31470,
  -31416, -31367, -31322, -31279,
  -31235, -31188, -31132, -31064,
  -30980, -30874, -30744, -30584,
  -30392, -30166, -29903, -29605,
  -29273, -28911, -28524, -28119,
  -27704, -27290, -26888, -26510,
  -26167, -25871, -25633, -25461,
  -25361, -25337, -25389, -25511,
  -25696, -25931, -26197, -26475,
  -26739, -26962, -27116, -27171,
  -27099, -26876, -26478, -25891,
  -25105, -24119, -22940, -21584,
  -20079, -18458, -16766, -15052,
  -13374, -11789, -10357,  -9135,
   -8176,  -7526,  -7217,  -7272,
   -7698,  -8484,  -9603, -11013,
  -12652, -14446, -16308, -18142,
  -19847, -21320, -22465, -23190,
  -23420, -23094, -22176, -20652,
  -18533, -15860, -12697,  -9137,
   -5292,  -1294,   2713,   6576,
   10143,  13266,  15812,  17665,
   18734,  18960,  18316,  16811,
   14491,  11437,   7763,   3614,
    -844,  -5428,  -9944, -14200,
  -18011, -21206, -23640, -25199,
  -25802, -25410, -24026, -21695,
  -18501, -14568, -10051,  -5129,
       0,   5129,  10051,  14568,
   18501,  21695,  24026,  25410,
   25802,  25199,  23640,  21206,
   18011,  14200,   9944,   5428,
     844,  -3614,  -7763, -11437,
  -14491, -16811, -18316, -18960,
  -18734, -17665, -15812, -13266,
  -10143,  -6576,  -2713,   1294,
    5292,   9137,  12697,  15860,
   18533,  20652,  22176,  23094,
   23420,  23190,  22465,  21320,
   19847,  18142,  16308,  14446,
   12652,  11013,   9603,   8484,
    7698,   7272,   7217,   7526,
    8176,   9135,  10357,  11789,
   13374,  15052,  16766,  18458,
   20079,  21584,  22940,  24119,
   25105,  25891,  26478,  26876,
   27099,  27171,  27116,  26962,
   26739,  26475,  26197,  25931,
   25696,  25511,  25389,  25337,
   25361,  25461,  25633,  25871,
   26167,  26510,  26888,  27290,
   27704,  28119,  28524,  28911,
   29273,  29605,  29903,  30166,
   30392,  30584,  30744,  30874,
   30980,  31064,  31132,  31188,
   31235,  31279,  31322,  31367,
   31416,  31470,  31531,  31599,
   31673,  31754,  31840,  31931,
   32025,  32121,  32218,  32315,
   32410,  32504,  32595,  32682,
   32682,
};
const int16_t ws_tri_fold[] = {
     -78, -20070, -31636, -30481,
  -17545,   1825,  20257,  31198,
   31144,  20555,   3335, -14748,
  -28051, -32765, -27869, -15160,
    1526,  17553,  28787,  32606,
   28401,  17522,   2767, -12404,
  -24698, -31675, -32164, -26370,
  -15686,  -2305,  11261,  22670,
   30122,  32609,  29985,  22895,
   12593,    688, -11123, -21293,
  -28618, -32346, -32225, -28466,
  -21675, -12730,  -2661,   7481,
   16727,  24281,  29569,  32266,
   32296,  29804,  25121,  18711,
   11123,   2936,  -5286, -13027,
  -19851, -25419, -29496, -31955,
  -32766, -31988, -29754, -26252,
  -21712, -16387, -10537,  -4418,
    1726,   7680,  13252,  18287,
   22661,  26287,  29107,  31097,
   32257,  32610,  32199,  31083,
   29331,  27022,  24237,  21062,
   17579,  13872,  10018,   6089,
    2152,  -1734,  -5515,  -9146,
  -12587, -15807, -18779, -21484,
  -23907, -26038, -27872, -29408,
  -30647, -31595, -32257, -32644,
  -32766, -32635, -32264, -31666,
  -30855, -29846, -28653, -27289,
  -25770, -24109, -22319, -20413,
  -18405, -16307, -14130, -11888,
   -9591,  -7250,  -4877,  -2483,
     -78,   2327,   4722,   7095,
    9435,  11732,  13975,  16151,
   18249,  20257,  22163,  23953,
   25615,  27134,  28497,  29691,
   30700,  31510,  32108,  32479,
   32610,  32488,  32101,  31439,
   30492,  29253,  27717,  25883,
   23752,  21329,  18624,  15651,
   12431,   8990,   5359,   1578,
   -2307,  -6245, -10174, -14028,
  -17735, -21217, -24393, -27177,
  -29487, -31238, -32354, -32765,
  -32412, -31253, -29263, -26442,
  -22817, -18442, -13407,  -7835,
   -1882,   4263,  10381,  16231,
   21557,  26096,  29598,  31832,
   32610,  31800,  29341,  25263,
   19695,  12871,   5130,  -3091,
  -11279, -18867, -25276, -29960,
  -32452, -32422, -29725, -24437,
  -16883,  -7636,   2505,  12574,
   21519,  28311,  32069,  32191,
   28462,  21137,  10967,   -844,
  -12749, -23051, -30140, -32765,
  -30278, -22825, -11417,   2150,
   15530,  26214,  32008,  31519,
   24543,  12248,  -2923, -17678,
  -28556, -32762, -28943, -17709,
   -1682,  15005,  27714,  32609,
   27895,  14592,  -3491, -20710,
  -31300, -31354, -20413,  -1981,
   17389,  30325,  31480,  19915,
   19915,
};


const int16_t* waveshaper_table[] = {
  ws_moderate_overdrive,
  ws_violent_overdrive,
  ws_sine_fold,
  ws_tri_fold,
};

const uint8_t wt_waves[] = {
     104,    105,    107,    108,
     110,    112,    115,    116,
     118,    122,    124,    124,
     126,    129,    131,    132,
     135,    137,    138,    140,
     143,    145,    145,    147,
     148,    149,    148,    148,
     148,    147,    146,    144,
     142,    139,    137,    133,
     127,    121,    116,    110,
     101,     93,     88,     83,
      78,     74,     73,     73,
      75,     80,     86,     93,
     104,    116,    130,    143,
     158,    173,    188,    203,
     218,    228,    236,    245,
     255,    252,    248,    244,
     240,    232,    222,    211,
     200,    188,    177,    166,
     153,    141,    132,    123,
     114,    105,     98,     91,
      85,     82,     78,     74,
      72,     72,     73,     72,
      72,     75,     78,     80,
      83,     88,     92,     95,
     100,    104,    108,    113,
     117,    120,    122,    125,
     126,    125,    125,    124,
     122,    120,    118,    116,
     113,    111,    110,    108,
     107,    105,    105,    104,
     103,    103,    104,    103,
     104,    123,    122,    124,
     120,    118,    117,    117,
     118,    117,    113,    114,
     115,    113,    110,    109,
     109,    110,    110,    108,
     110,    114,    116,    118,
     122,    125,    131,    135,
     136,    135,    139,    142,
     141,    139,    138,    138,
     138,    135,    131,    129,
     127,    125,    119,    114,
     111,    107,    100,     95,
      90,     84,     82,     79,
      80,     82,     87,     97,
     111,    124,    140,    160,
     182,    203,    218,    229,
     241,    255,    246,    238,
     231,    223,    208,    193,
     180,    173,    166,    157,
     150,    149,    149,    148,
     145,    143,    143,    141,
     138,    134,    131,    128,
     125,    121,    116,    110,
     105,    102,     97,     90,
      86,     86,     85,     84,
      82,     85,     90,     93,
      95,     98,    105,    110,
     111,    112,    114,    116,
     115,    113,    111,    111,
     112,    112,    112,    113,
     117,    120,    122,    124,
     124,    126,    127,    128,
     125,    123,    149,    149,
     148,    147,    148,    146,
     143,    143,    142,    139,
     138,    137,    136,    135,
     134,    134,    133,    132,
     132,    132,    130,    129,
     127,    125,    121,    118,
     114,    109,    105,    103,
      99,     96,     95,     93,
      92,     92,     91,     90,
      88,     88,     86,     84,
      82,     79,     77,     75,
      73,     71,     70,     72,
      74,     75,     78,     86,
      93,    100,    113,    129,
     141,    155,    175,    193,
     203,    217,    236,    242,
     245,    251,    255,    251,
     245,    244,    238,    228,
     219,    213,    203,    191,
     184,    176,    165,    156,
     148,    140,    129,    122,
     115,    107,     98,     92,
      85,     77,     70,     65,
      58,     56,     55,     54,
      55,     58,     63,     69,
      76,     85,     92,     99,
     108,    115,    119,    122,
     127,    128,    128,    129,
     130,    129,    128,    130,
     130,    130,    131,    135,
     137,    137,    141,    144,
     145,    146,    149,    134,
     129,    121,    119,    120,
     118,    117,    123,    127,
     125,    127,    128,    122,
     116,    113,    109,    105,
     108,    115,    123,    131,
     144,    153,    156,    156,
     153,    141,    127,    115,
     105,     95,     93,     98,
     104,    110,    125,    137,
     140,    142,    147,    146,
     135,    135,    139,    139,
     142,    160,    173,    174,
     185,    192,    174,    148,
     133,    105,     60,     36,
      38,     27,     28,     69,
     116,    142,    183,    239,
     255,    250,    254,    248,
     204,    164,    149,    119,
      80,     72,     78,     71,
      70,     90,    102,     99,
     110,    125,    129,    129,
     147,    161,    162,    170,
     182,    179,    167,    158,
     147,    120,     97,     83,
      69,     52,     51,     64,
      74,     90,    118,    142,
     156,    172,    185,    183,
     170,    162,    146,    123,
     105,     98,     87,     78,
      83,     92,     96,    104,
     120,    128,    131,    137,
     143,    138,    134,    134,
     148,    154,    158,    162,
     163,    166,    166,    166,
     164,    160,    156,    151,
     142,    136,    128,    118,
     110,    103,     96,     91,
      87,     84,     83,     84,
      86,     89,     92,     98,
     103,    110,    116,    123,
     129,    133,    137,    142,
     144,    143,    142,    142,
     139,    134,    130,    125,
     120,    114,    107,    102,
      95,     91,     85,     79,
      75,     74,     72,     70,
      73,     82,     90,    101,
     121,    140,    155,    177,
     203,    220,    230,    243,
     254,    255,    248,    243,
     235,    220,    202,    185,
     168,    152,    136,    120,
     106,     98,     90,     84,
      77,     76,     77,     75,
      75,     76,     79,     81,
      84,     88,     92,     97,
     105,    114,    121,    128,
     138,    148,    155,    160,
     164,    168,    168,    164,
     158,    151,    143,    134,
     123,    111,    104,     99,
      92,     89,     90,     92,
      94,    100,    106,    113,
     121,    128,    135,    142,
     148,    148,    163,    170,
     171,    169,    162,    153,
     144,    130,    115,    108,
     105,     95,     81,     75,
      75,     71,     69,     77,
      96,    112,    126,    142,
     154,    156,    155,    148,
     132,    119,    113,    105,
      90,     80,     76,     69,
      60,     52,     54,     64,
      75,     92,    116,    136,
     150,    162,    163,    154,
     143,    135,    132,    127,
     121,    120,    121,    108,
      80,     64,     62,     50,
      43,     76,    112,    133,
     172,    221,    239,    238,
     247,    255,    240,    220,
     214,    210,    194,    170,
     151,    141,    127,    111,
     105,    107,    113,    122,
     137,    151,    164,    181,
     195,    201,    202,    199,
     197,    190,    172,    148,
     121,     98,     74,     39,
      14,     25,     45,     54,
      71,    105,    139,    157,
     166,    177,    184,    187,
     185,    176,    168,    159,
     145,    128,    108,     86,
      74,     73,     67,     61,
      70,     90,    103,    114,
     130,    148,    178,    176,
     172,    161,    160,    159,
     143,    138,    137,    125,
     121,    114,    106,    100,
      95,     90,     84,     81,
      80,     81,     70,     81,
      78,     70,     75,     82,
      80,     75,     79,     86,
      87,     82,     89,     97,
      89,     90,     96,     95,
      90,     89,     95,     88,
      85,     88,     87,     80,
      82,     85,     79,     81,
      84,     88,     83,     95,
     102,     98,    104,    119,
     126,    123,    141,    159,
     154,    168,    190,    194,
     201,    211,    224,    230,
     232,    241,    248,    249,
     253,    255,    255,    251,
     250,    244,    236,    229,
     224,    209,    193,    189,
     179,    158,    148,    143,
     119,    106,    100,     88,
      75,     66,     58,     53,
      47,     38,     39,     43,
      40,     43,     46,     56,
      59,     66,     79,     83,
      94,    105,    110,    119,
     134,    139,    143,    157,
     164,    166,    169,    182,
     181,    175,    183,    188,
     183,    177,    178,    151,
     153,    156,    144,    137,
     143,    138,    126,    122,
     129,    127,    115,    112,
     116,    118,    113,    113,
     118,    117,    118,    122,
     130,    130,    128,    136,
     142,    137,    143,    144,
     134,    143,    153,    140,
     128,    138,    145,    125,
     113,    125,    119,     97,
      90,    104,     99,     73,
      67,     83,     77,     60,
      65,     77,     64,     56,
      82,     91,     72,     80,
     107,    109,    102,    127,
     146,    135,    143,    176,
     187,    179,    186,    211,
     220,    209,    218,    244,
     238,    217,    233,    255,
     230,    214,    232,    225,
     197,    197,    201,    178,
     156,    153,    149,    131,
     112,    103,    100,     81,
      63,     70,     64,     38,
      38,     49,     34,     25,
      46,     47,     33,     46,
      63,     65,     65,     78,
      94,    100,    101,    111,
     126,    130,    131,    142,
     153,    150,    150,    162,
     166,    160,    159,    164,
     163,    164,    160,    151,
     183,    167,    151,    130,
     125,    113,     83,     80,
      89,     82,     80,    101,
     122,    127,    133,    141,
     157,    160,    148,    144,
     143,    144,    131,    109,
      99,     97,     84,     59,
      53,     75,    105,    113,
     117,    144,    166,    171,
     144,    117,    119,    107,
      65,     27,     46,     68,
      39,     24,     55,     70,
      68,     79,    103,    118,
     122,    134,    136,    117,
     120,    121,    103,     92,
     116,    130,    106,    112,
     150,    152,    132,    137,
     168,    174,    153,    157,
     188,    203,    195,    204,
     222,    215,    209,    207,
     186,    160,    158,    152,
     120,    112,    145,    163,
     162,    169,    187,    210,
     207,    196,    194,    181,
     160,    122,    101,     92,
      85,     97,     77,     64,
      97,    132,    152,    171,
     210,    235,    228,    197,
     149,    128,    112,     56,
       1,     20,     62,     49,
      30,     61,    102,    118,
     134,    174,    208,    205,
     183,    168,    158,    144,
     129,    120,    116,    113,
     114,    117,    124,    135,
     140,    135,    135,    147,
     152,    143,    141,    151,
     160,    155,    152,    153,
     142,    128,    117,    103,
      84,     74,     83,     94,
     101,    110,    130,    147,
     150,    143,    134,    127,
     112,     92,     71,     63,
      61,     58,     54,     59,
      71,     84,     95,    101,
     102,    107,    114,    108,
      91,     83,     84,     82,
      74,     77,     84,    103,
     146,    189,    201,    205,
     232,    255,    229,    183,
     163,    156,    132,    105,
     103,    115,    125,    142,
     162,    167,    165,    178,
     187,    173,    155,    160,
     174,    174,    167,    165,
     170,    169,    156,    135,
     113,    100,     89,     78,
      71,     76,     92,    109,
     128,    148,    163,    181,
     192,    190,    177,    163,
     139,    109,     85,     72,
      51,     34,     44,     65,
      75,     84,    114,    141,
     153,    164,    182,    188,
     178,    168,    120,    127,
     135,    128,    123,    126,
     125,    121,    124,    140,
     158,    167,    160,    154,
     168,    184,    184,    170,
     159,    155,    146,    140,
     140,    132,    116,    111,
     113,    106,     95,    100,
     119,    129,    115,    103,
     111,    129,    132,    126,
     114,     95,     79,     79,
      94,     97,     75,     54,
      51,     47,     34,     35,
      52,     61,     53,     37,
      20,     22,     53,     90,
     102,     87,     73,     69,
      94,    164,    244,    255,
     202,    176,    217,    253,
     243,    232,    241,    227,
     179,    155,    160,    153,
     139,    150,    161,    136,
      99,     86,    108,    141,
     167,    167,    149,    138,
     141,    157,    176,    188,
     181,    160,    151,    150,
     134,    117,    131,    159,
     149,    108,     84,     88,
     101,    109,    120,    124,
     108,     87,     86,    103,
     113,    105,    100,    119,
     134,    122,    112,    130,
     144,    135,    128,    141,
     148,    133,    120,    137,
     136,    132,    142,    163,
     167,    157,    157,    166,
     170,    169,    170,    163,
     154,    153,    155,    151,
     141,    133,    129,    128,
     127,    122,    111,    108,
     113,    113,    105,    101,
     102,    103,    104,    102,
     101,    100,     95,     94,
     101,     97,     79,     72,
      83,     89,     72,     51,
      50,     66,     69,     49,
      33,     43,     61,     64,
      51,     50,     65,     76,
      80,     92,    117,    134,
     123,    113,    149,    211,
     216,    167,    157,    217,
     255,    225,    191,    205,
     227,    216,    194,    195,
     203,    186,    156,    148,
     166,    170,    137,    108,
     115,    136,    135,    115,
     102,    109,    124,    129,
     122,    120,    129,    138,
     138,    137,    141,    150,
     152,    146,    146,    155,
     159,    147,    136,    142,
     149,    142,    124,    118,
     123,    123,    112,    102,
     105,    111,    104,     97,
     104,    113,    110,    106,
     113,    123,    131,    137,
     173,    176,    164,    163,
     190,    203,    190,    187,
     197,    197,    198,    208,
     206,    191,    186,    188,
     191,    183,    174,    162,
     149,    143,    149,    141,
     115,    102,    101,     97,
      87,     81,     67,     58,
      50,     51,     50,     47,
      33,     29,     27,     31,
      35,     31,     20,     22,
      24,     24,     35,     45,
      26,     18,     35,     59,
      58,     53,     50,     59,
      75,     93,    106,    111,
     123,    123,    120,    149,
     210,    204,    156,    160,
     231,    255,    226,    208,
     237,    251,    237,    232,
     251,    254,    234,    210,
     212,    235,    242,    203,
     168,    182,    203,    187,
     161,    158,    154,    140,
     129,    139,    138,    116,
      98,    102,    103,    103,
      97,     85,     76,     79,
      82,     82,     85,     78,
      68,     70,     88,     93,
      83,     78,     92,     96,
      93,    103,    118,    110,
     104,    119,    134,    138,
     137,    138,    143,    156,
     173,    121,    124,    113,
     110,    113,    122,    125,
     116,    126,    130,    122,
     143,    144,    128,    136,
     142,    145,    141,    137,
     135,    135,    140,    128,
     134,    141,    101,    123,
     147,    109,    104,    129,
     136,    124,    126,    144,
     146,    139,    160,    171,
     134,    133,    163,    129,
     117,    139,     94,     79,
     100,     72,     55,     55,
      37,     27,     34,     24,
      19,     22,     38,     66,
      51,     56,    112,    109,
     101,    165,    183,    160,
     189,    227,    231,    229,
     231,    252,    255,    224,
     230,    232,    203,    205,
     189,    148,    153,    160,
     113,     97,    112,     87,
      74,     90,     80,     66,
      76,     86,     87,     95,
      97,     97,     95,    116,
     129,     94,    105,    148,
     123,    118,    143,    136,
     144,    147,    147,    157,
     148,    144,    156,    163,
     148,    140,    155,    157,
     142,    137,    137,    137,
     133,    122,    126,    123,
     111,    121,    172,    178,
     185,    193,    193,    197,
     210,    210,    205,    213,
     216,    211,    209,    209,
     207,    197,    194,    191,
     185,    176,    169,    161,
     149,    143,    139,    121,
     114,    111,     96,     88,
      85,     85,     67,     61,
      62,     57,     48,     57,
      48,     28,     39,     42,
      33,     26,     42,     24,
      24,     41,     38,     30,
      38,     40,     44,     53,
      54,     61,     71,     87,
      97,     94,    116,    144,
     135,    137,    187,    196,
     172,    192,    236,    225,
     219,    240,    253,    245,
     246,    255,    252,    249,
     247,    234,    228,    234,
     222,    197,    196,    197,
     177,    159,    165,    153,
     126,    123,    129,    106,
      93,     98,     89,     68,
      75,     73,     54,     52,
      63,     52,     46,     51,
      48,     51,     58,     55,
      55,     62,     69,     70,
      77,     86,     88,     90,
     102,    114,    115,    121,
     134,    140,    139,    153,
     166,    166,    172,    120,
     102,     97,    114,    144,
     171,    170,    151,    160,
     185,    189,    196,    202,
     172,    143,    137,    143,
     150,    143,    119,    107,
     115,    126,    135,    136,
     123,    116,    121,    115,
     107,    115,    122,     98,
      68,     66,     81,     94,
     102,     89,     62,     61,
      87,    111,    112,    100,
      86,     98,    110,     95,
      93,    100,     85,     60,
      43,     38,     63,     85,
      82,     72,     73,     91,
     107,    118,    163,    225,
     233,    172,    131,    185,
     255,    239,    168,    146,
     167,    175,    166,    172,
     185,    169,    143,    145,
     177,    199,    193,    168,
     140,    126,    147,    178,
     162,    112,     90,    108,
     128,    136,    136,    127,
     111,    110,    113,    118,
     137,    150,    128,     91,
      79,    103,    134,    124,
      85,     66,     80,    103,
     118,    127,    122,    108,
     111,    134,    154,    165,
     162,    138,    112,    115,
     143,    158,    144,    120,
     104,    114,    124,    137,
     148,    160,    170,    176,
     181,    183,    184,    181,
     179,    172,    164,    155,
     145,    137,    127,    119,
     112,    106,     98,     93,
      88,     82,     81,     80,
      82,     84,     88,     93,
     100,    110,    120,    133,
     142,    154,    163,    172,
     179,    182,    186,    181,
     177,    165,    157,    143,
     128,    113,     96,     81,
      66,     56,     50,     45,
      46,     43,     45,     47,
      55,     71,     91,    116,
     137,    159,    177,    195,
     215,    233,    247,    254,
     255,    250,    239,    224,
     208,    190,    170,    148,
     126,    104,     84,     69,
      59,     52,     49,     48,
      50,     53,     59,     68,
      80,     90,    102,    110,
     118,    125,    134,    142,
     148,    156,    162,    166,
     169,    172,    174,    173,
     174,    171,    168,    162,
     153,    145,    135,    127,
     116,    107,     97,     88,
      80,     74,     72,     71,
      74,     79,     87,     95,
     104,    104,    102,    100,
     100,    103,    108,    114,
     121,    126,    136,    145,
     152,    161,    161,    167,
     165,    163,    158,    154,
     147,    140,    133,    121,
     113,    103,     95,     93,
      91,     90,     89,     93,
      98,    105,    116,    126,
     136,    141,    148,    152,
     159,    162,    163,    162,
     156,    151,    136,    132,
     122,    110,    100,     90,
      79,     67,     63,     59,
      59,     60,     58,     57,
      56,     63,     75,     96,
     122,    146,    167,    188,
     208,    229,    246,    255,
     255,    242,    232,    214,
     200,    188,    177,    166,
     154,    144,    139,    137,
     137,    140,    140,    135,
     130,    119,    110,    100,
      92,     82,     70,     61,
      49,     47,     45,     54,
      63,     77,     89,    103,
     119,    133,    150,    160,
     168,    174,    172,    172,
     167,    164,    155,    150,
     142,    135,    131,    124,
     122,    116,    117,    113,
     111,    110,    108,    107,
     105,    104,     52,     55,
      65,     78,     99,    127,
     152,    180,    202,    224,
     236,    241,    239,    221,
     206,    182,    163,    139,
     120,    105,     91,     88,
      80,     81,     78,     77,
      78,     72,     72,     62,
      63,     61,     65,     76,
      88,    110,    130,    157,
     178,    199,    216,    222,
     228,    217,    205,    180,
     159,    136,    112,     98,
      82,     74,     66,     68,
      73,     78,     87,     82,
      79,     67,     62,     63,
      69,     87,    100,    117,
     132,    157,    185,    212,
     233,    239,    242,    233,
     221,    208,    194,    182,
     162,    146,    129,    120,
     117,    118,    123,    120,
     117,    111,    107,    100,
      92,     89,     79,     73,
      63,     57,     49,     45,
      54,     67,     92,    118,
     154,    187,    215,    236,
     245,    252,    255,    253,
     233,    204,    175,    143,
     120,     98,     85,     76,
      71,     70,     66,     70,
      69,     70,     67,     62,
      57,     49,     52,     90,
      91,     95,    102,    116,
     130,    154,    170,    183,
     193,    192,    181,    164,
     142,    123,    103,     91,
      80,     76,     76,     83,
      99,    110,    121,    124,
     126,    127,    122,    118,
     110,    106,    105,    105,
     112,    121,    138,    150,
     161,    165,    166,    159,
     149,    136,    120,    100,
      76,     60,     51,     51,
      59,     71,     84,     98,
     113,    125,    137,    144,
     138,    128,    112,    103,
     103,    115,    134,    162,
     183,    199,    210,    207,
     198,    192,    183,    181,
     180,    181,    188,    197,
     212,    221,    230,    222,
     208,    181,    151,    121,
      90,     71,     56,     54,
      56,     63,     83,    100,
     119,    124,    122,    108,
      85,     66,     57,     66,
      83,    113,    142,    178,
     204,    226,    245,    254,
     255,    225,    185,    142,
     100,     69,     49,     41,
      38,     43,     53,     68,
      92,    108,    119,    120,
     117,    103,     95,     90,
     116,    127,    136,    147,
     159,    170,    180,    186,
     191,    196,    196,    194,
     191,    184,    179,    169,
     159,    149,    139,    127,
     118,    109,    103,     96,
      89,     86,     86,     84,
      86,     84,     88,     94,
      96,    104,    103,    107,
     106,    106,    104,    103,
      98,     91,     87,     78,
      74,     65,     64,     59,
      59,     58,     61,     64,
      70,     78,     88,    101,
     116,    126,    134,    150,
     158,    176,    186,    192,
     206,    208,    210,    214,
     219,    221,    224,    229,
     231,    235,    233,    240,
     241,    250,    248,    251,
     246,    245,    236,    228,
     219,    203,    192,    171,
     154,    130,    108,     89,
      72,     53,     38,     24,
      15,      5,      1,      2,
       9,     17,     28,     41,
      55,     68,     78,     93,
     104,    118,    124,    128,
     131,    127,    128,    125,
     122,    115,    113,    105,
     100,     97,     93,     92,
      93,     97,    100,    108,
     116,     10,     15,     35,
      61,     98,    130,    164,
     193,    207,    208,    193,
     170,    149,    126,    114,
     112,    112,    123,    136,
     153,    175,    183,    183,
     169,    137,    107,     74,
      44,     21,      2,      3,
      20,     46,     91,    135,
     178,    210,    228,    242,
     240,    227,    204,    175,
     145,    113,     81,     66,
      58,     59,     62,     66,
      72,     75,     81,     87,
      99,    112,    115,    121,
     140,    158,    195,    212,
     213,    208,    174,    131,
     115,    109,    119,    136,
     159,    173,    198,    223,
     247,    255,    242,    211,
     157,    107,     69,     39,
      29,     27,     34,     58,
      91,    136,    175,    202,
     218,    208,    183,    150,
     113,     81,     46,     25,
      16,     28,     62,    105,
     147,    185,    195,    196,
     181,    162,    143,    106,
      73,     46,     28,     42,
      67,    108,    151,    186,
     213,    223,    227,    216,
     181,    146,     97,     52,
      25,     10,    128,    129,
     125,    124,    122,    121,
     117,    110,    101,     92,
      84,     79,     79,     79,
      86,     88,     94,     99,
     104,    108,    114,    120,
     123,    130,    131,    134,
     137,    142,    145,    149,
     155,    161,    162,    165,
     166,    167,    168,    165,
     164,    158,    150,    139,
     126,    118,    109,    102,
      93,     87,     81,     76,
      76,     77,     82,     82,
      84,     82,     82,     79,
      83,     96,    114,    138,
     156,    170,    179,    177,
     172,    169,    171,    170,
     169,    164,    163,    170,
     187,    209,    233,    249,
     255,    240,    218,    194,
     168,    151,    138,    132,
     127,    125,    120,    120,
     118,    121,    120,    111,
      98,     75,     53,     29,
      18,     16,     28,     45,
      68,     85,     99,    106,
     108,    112,    112,    114,
     111,    113,    111,    114,
     124,    140,    160,    174,
     190,    193,    192,    183,
     170,    155,    144,    138,
     132,    130,    128,    168,
     171,    166,    165,    162,
     163,    158,    155,    147,
     144,    137,    131,    126,
     122,    119,    114,    111,
     106,    107,    103,    107,
     105,    107,    105,    104,
     101,    102,    101,    100,
     100,    101,    104,    104,
     109,    109,    115,    117,
     122,    125,    129,    130,
     129,    125,    122,    120,
     112,    111,    105,    103,
      96,     96,     96,     97,
     104,    108,    120,    126,
     127,    125,    128,    132,
     143,    150,    161,    166,
     167,    172,    181,    196,
     212,    226,    236,    242,
     249,    250,    255,    255,
     255,    249,    236,    221,
     208,    193,    179,    167,
     155,    148,    132,    121,
     107,     99,     88,     82,
      71,     65,     52,     42,
      30,     23,     20,     14,
      15,     14,     19,     21,
      26,     31,     43,     52,
      66,     76,     88,     98,
     105,    115,    125,    139,
     143,    153,    154,    161,
     162,    166,    165,    169,
     170,    171,    170,    168,
     105,    117,    127,    138,
     143,    147,    145,    139,
     130,    122,    115,    108,
     109,    111,    120,    126,
     131,    142,    144,    145,
     136,    122,     99,     79,
      60,     58,     72,    100,
     140,    181,    217,    233,
     230,    203,    165,    124,
      91,     76,     82,    113,
     154,    198,    229,    242,
     227,    186,    133,     76,
      32,      1,      5,     27,
      66,    108,    137,    158,
     154,    132,     99,     73,
      51,     49,     59,     86,
     114,    143,    169,    186,
     196,    194,    189,    178,
     171,    167,    165,    174,
     181,    191,    195,    194,
     187,    180,    164,    146,
     131,    114,    101,     87,
      82,     81,     87,     94,
     106,    114,    114,    111,
     101,     87,     73,     63,
      59,     65,     79,     95,
     119,    141,    158,    166,
     165,    158,    139,    125,
     110,    106,    109,    121,
     137,    154,    167,    171,
     169,    156,    142,    121,
     107,     96,     94,     95,
     105,    194,    198,    207,
     201,    202,    189,    181,
     167,    168,    164,    165,
     154,    154,    139,    135,
     120,    109,    107,    100,
      97,     86,     82,     73,
      73,     66,     70,     63,
      66,     58,     66,     71,
      88,     89,     91,     80,
      78,     71,     76,     80,
      91,    102,    103,    103,
     103,    103,    101,    106,
     102,    110,     96,    100,
      96,    111,    124,    141,
     156,    167,    153,    147,
     141,    151,    172,    194,
     211,    200,    191,    178,
     186,    195,    219,    225,
     229,    213,    206,    189,
     198,    204,    215,    210,
     197,    175,    161,    146,
     139,    143,    141,    135,
     113,    102,     81,     84,
      74,     86,     77,     74,
      56,     52,     38,     41,
      49,     47,     49,     35,
      16,      7,      1,     35,
      72,     93,    109,     93,
      88,     80,    100,    125,
     158,    171,    180,    168,
     166,    168,    184,    205,
     218,    222,    214,    205,
     190,    194,    129,    151,
     182,    191,    195,    181,
     171,    155,    155,    155,
     168,    175,    189,    185,
     178,    154,    131,    115,
     117,    133,    150,    156,
     144,    118,     88,     81,
      83,    107,    122,    133,
     117,     99,     75,     71,
      79,    101,    113,    114,
      98,     81,     71,     73,
      86,    101,    113,    107,
     103,     91,     92,     90,
      99,    103,    119,    127,
     142,    145,    145,    128,
     118,    120,    134,    153,
     159,    154,    136,    132,
     150,    185,    204,    204,
     181,    159,    151,    180,
     212,    245,    240,    213,
     173,    153,    158,    186,
     209,    211,    189,    157,
     132,    122,    133,    143,
     153,    139,    129,    107,
      97,     82,     81,     73,
      78,     86,     95,     92,
      71,     36,      7,      1,
      33,     82,    114,    117,
      75,     34,      7,     35,
      87,    144,    166,    154,
     107,     75,     70,    105,
     155,    191,    195,    172,
     143,    123,    129,     72,
      66,     89,    126,    157,
     167,    154,    123,     92,
      78,     89,    113,    148,
     170,    175,    155,    123,
      96,     85,     97,    126,
     156,    173,    165,    136,
     103,     81,     81,    104,
     138,    164,    170,    148,
     115,     86,     77,     92,
     124,    154,    168,    158,
     134,    106,     93,    101,
     125,    154,    171,    170,
     148,    119,     98,     99,
     116,    147,    176,    184,
     166,    130,     89,     59,
      48,     58,     95,    136,
     171,    185,    165,    120,
      75,     61,     91,    156,
     226,    255,    238,    174,
     108,     73,     93,    153,
     220,    250,    224,    160,
      90,     51,     58,    105,
     155,    183,    173,    132,
      80,     44,     37,     59,
      99,    135,    152,    144,
     116,     78,     46,     41,
      66,    117,    167,    194,
     183,    138,     89,     62,
      80,    129,    187,    220,
     212,    165,    109,     74,
      77,    116,    163,    194,
     189,    156,    108,     72,
      76,     47,     48,     80,
     136,    189,    213,    190,
     135,     78,     52,     75,
     142,    218,    255,    245,
     177,    101,     52,     59,
     117,    186,    232,    215,
     159,     83,     32,     26,
      66,    125,    166,    172,
     139,     88,     45,     29,
      48,     92,    132,    159,
     160,    139,    109,     87,
      86,    107,    145,    180,
     200,    194,    163,    128,
     105,    108,    139,    180,
     211,    205,    170,    111,
      60,     31,     39,     84,
     132,    177,    190,    161,
     101,     44,     25,     60,
     133,    210,    241,    224,
     161,     93,     59,     79,
     142,    212,    250,    232,
     175,    108,     66,     69,
     108,    162,    194,    192,
     158,    108,     66,     46,
      61,     93,    131,    155,
     153,    123,     82,     42,
      28,     48,     98,    152,
     182,    173,    131,     80,
      52,     66,    118,    174,
     213,    211,    169,    114,
      78,     82,    119,    168,
     199,    197,    170,    121,
      76,     59,     42,     38,
      46,     74,     92,    110,
     118,    135,    175,    174,
     229,    247,    255,    241,
     232,    208,    188,    151,
     126,    114,    101,    108,
      84,     68,     33,     15,
      22,     59,    113,    139,
     139,    124,    105,    114,
     143,    168,    190,    169,
     133,    121,    119,    130,
     124,    104,     82,     65,
      81,    109,    130,    134,
     109,    104,    119,    166,
     223,    240,    206,    154,
      96,     73,     64,     84,
     112,    113,    127,    139,
     137,    121,     84,     68,
      70,    109,    186,    221,
     236,    186,    119,     68,
      71,    121,    197,    227,
     202,    143,     73,     37,
      41,    101,    154,    177,
     167,    135,    106,     89,
      94,    120,    136,    154,
     166,    163,    155,    128,
      83,     50,     37,     76,
     128,    175,    182,    129,
      64,     19,     35,    113,
     183,    238,    227,    164,
     107,     79,    112,    170,
     210,    219,    183,    140,
      92,     59,    184,    157,
      84,      7,    109,    254,
     193,     59,     87,    155,
     124,    180,    203,    108,
      31,    149,    236,    173,
      92,    101,    116,    126,
     190,    184,     86,     48,
     138,    189,    141,    110,
     114,    102,    116,    170,
     159,     72,     70,    167,
     182,    114,     94,    103,
     101,    131,    183,    158,
      64,     62,    132,    152,
     154,    131,    106,     66,
     103,    184,    198,    111,
      83,     89,    110,    118,
     187,    177,     94,     79,
     147,    172,    123,    108,
     124,    106,    102,    150,
     144,    101,    116,    166,
     128,     66,     89,    144,
     160,    151,    144,     91,
      72,    116,    168,    179,
     130,     87,     72,    131,
     205,    170,     69,     58,
     158,    177,    134,    125,
     107,     80,    139,    223,
     141,     52,     90,    151,
     146,    173,    191,     74,
      11,    122,    255,    188,
      96,     72,     52,    122,
     253,    227,     43,      1,
     137,    207,    184,    153,
      93,    110,    120,    152,
     124,     90,    124,    181,
     155,     58,    125,    183,
     150,     80,    131,    157,
     144,    115,    110,    128,
     149,    173,     93,    113,
     118,    146,    124,    145,
     117,    140,    116,    117,
     129,    136,    144,    114,
     126,    128,    117,    142,
     134,    127,     97,    163,
     163,     90,     67,    161,
     149,    149,     95,    124,
     137,    119,    122,    168,
     142,     96,     89,    170,
     119,    117,    142,    148,
      52,     93,    194,    178,
      58,     75,    150,    194,
     107,     82,    102,    193,
     151,    108,     57,    135,
     220,    142,     31,    109,
     232,    171,     24,     58,
     239,    198,     51,     24,
     179,    255,     92,     37,
     102,    227,    141,     56,
     110,    186,    152,     74,
     118,    143,    148,    119,
     114,    132,    156,    120,
      91,    143,    140,    145,
     119,    133,    152,     75,
     101,    174,    188,     96,
      82,    115,    182,    153,
     118,     58,      1,     22,
      51,     63,     40,     51,
      87,    124,    133,    165,
     194,    200,    185,    176,
     160,    146,    130,    126,
     132,    143,    134,    113,
     120,    137,    141,    130,
     129,    131,    129,    111,
     100,     99,    106,    117,
     110,    115,    121,    121,
     125,    128,    129,    133,
     143,    142,    119,    118,
     135,    144,    151,    142,
     137,    146,    154,    167,
     173,    155,    128,    114,
     132,    135,    123,     97,
      75,     65,     85,    117,
     118,    106,    109,    121,
     136,    138,    137,    135,
     139,    137,    131,    121,
     116,    136,    138,    125,
     135,    145,    144,    138,
     143,    151,    139,    126,
     124,    146,    153,    130,
     106,     93,    108,    114,
     114,    109,    106,    106,
     116,    137,    131,    133,
     150,    160,    152,    137,
     119,    104,     98,     97,
     121,    122,    119,    137,
     167,    208,    214,    184,
     171,    199,    208,    148,
     118,     95,     66,      1,
       2,     32,     50,     41,
      56,     97,    138,    149,
     166,    181,    186,    173,
     165,    156,    149,    134,
     122,    125,    138,    136,
     123,    126,    140,    146,
     136,    125,    120,    122,
     118,    109,    102,    101,
     107,    108,    110,    115,
     120,    127,    132,    131,
     134,    144,    146,    137,
     137,    144,    144,    142,
     139,    142,    147,    146,
     143,    148,    147,    138,
     129,    128,    122,    117,
     111,    104,     94,    101,
     114,    116,    112,    115,
     122,    130,    132,    127,
     123,    123,    122,    122,
     115,    115,    126,    129,
     123,    132,    144,    145,
     140,    143,    151,    153,
     143,    135,    137,    141,
     133,    119,    108,    109,
     111,    114,    113,    112,
     112,    125,    139,    137,
     132,    138,    138,    125,
     110,    102,     98,     93,
      95,    121,    147,    159,
     164,    187,    229,    255,
     220,    180,    192,    167,
     113,     95,     94,     72,
       1,     37,     86,    124,
      92,     61,     71,     94,
      94,    129,    170,    194,
     167,    141,    133,    146,
     149,    148,    153,    163,
     152,    125,    110,    119,
     131,    127,    116,    113,
     118,    113,    105,    100,
     105,    122,    126,    126,
     120,    124,    127,    125,
     126,    132,    143,    148,
     139,    144,    154,    153,
     148,    141,    146,    151,
     147,    139,    134,    128,
     124,    123,    128,    130,
     133,    127,    117,     99,
     103,    113,    121,    118,
     113,    109,    109,    110,
     109,    110,    120,    123,
     125,    118,    120,    130,
     133,    126,    140,    157,
     163,    146,    129,    126,
     131,    133,    136,    142,
     149,    139,    127,    114,
     118,    128,    141,    135,
     119,    101,     97,     95,
      89,     94,    121,    134,
     130,    122,    137,    158,
     153,    130,    152,    196,
     215,    174,    181,    180,
     146,    131,    130,    177,
     173,    109,     94,    155,
     118,      1,     15,     70,
      93,     43,     12,     48,
     118,    160,    171,    188,
     200,    181,    171,    145,
     131,    105,     97,    102,
     103,     97,     93,    111,
     147,    168,    159,    136,
     130,    144,    152,    143,
     123,     98,    103,    111,
     111,    107,    104,    114,
     121,    131,    136,    144,
     153,    150,    164,    169,
     162,    152,    140,    138,
     127,    124,    118,    124,
     130,    124,    128,    133,
     138,    141,    137,    129,
     108,    108,    109,    110,
     105,     97,     92,    104,
     123,    129,    123,    118,
     114,    125,    129,    132,
     137,    143,    133,    133,
     140,    143,    137,    131,
     128,    128,    123,    126,
     135,    147,    145,    138,
     124,    121,    123,    127,
     114,     88,     66,     81,
     107,    130,    139,    167,
     192,    190,    170,    159,
     178,    183,    133,     99,
     103,     60,     59,    137,
     196,    175,    126,    121,
     195,    245,    192,    155,
     149,    113,     27,     24,
      64,     82,     52,     29,
      56,    109,    146,    164,
     175,    201,    218,    196,
     154,    129,    101,     93,
     106,    110,     98,     78,
      85,    105,    127,    140,
     144,    146,    158,    163,
     149,    127,    115,    124,
     132,    129,    120,    110,
     116,    124,    131,    137,
     145,    154,    154,    154,
     145,    132,    125,    124,
     128,    124,    118,    108,
     110,    117,    119,    124,
     128,    138,    143,    139,
     133,    120,    118,    124,
     133,    134,    127,    118,
     118,    125,    127,    124,
     126,    130,    135,    126,
     113,    103,    109,    118,
     125,    128,    123,    118,
     121,    127,    139,    145,
     149,    151,    156,    148,
     132,    115,    107,    105,
     115,    115,    101,     97,
     128,    156,    162,    149,
     164,    197,    212,    173,
     136,    103,     58,     59,
      75,     91,     70,     64,
     112,    171,    189,    179,
     180,    226,    255,    212,
     149,    154,    122,     34,
       1,     46,     77,     58,
      26,     34,     75,    119,
     152,    177,    192,    193,
     174,    158,    154,    148,
     132,    121,    108,     85,
      81,    105,    133,    143,
     138,    127,    124,    143,
     160,    157,    134,    115,
     111,    117,    121,    116,
     113,    119,    123,    129,
     131,    138,    146,    149,
     150,    148,    140,    139,
     135,    137,    129,    117,
     106,    109,    122,    127,
     122,    117,    118,    126,
     132,    135,    132,    125,
     125,    128,    130,    130,
     128,    132,    139,    140,
     131,    120,    114,    118,
     116,    112,    100,    101,
     105,    119,    131,    132,
     130,    135,    145,    160,
     157,    143,    135,    128,
     125,    113,    104,    100,
     103,    129,    148,    146,
     131,    139,    178,    209,
     201,    163,    156,    123,
      82,     87,     90,     57,
      30,     34,     68,     87,
     109,    165,    224,    238,
     207,    184,    215,    250,
     221,    154,    177,    137,
      65,      3,     35,     72,
      77,     40,     25,     47,
      85,    114,    136,    155,
     167,    159,    153,    145,
     139,    134,    135,    140,
     159,    160,    145,    147,
     148,    130,    120,    115,
     123,    128,    126,    114,
     101,    104,    120,    138,
     143,    136,    130,    119,
     106,    107,    121,    134,
     135,    138,    146,    151,
     146,    144,    145,    138,
     129,    121,    112,    108,
     107,    106,    108,    119,
     136,    143,    145,    139,
     138,    140,    137,    142,
     145,    136,    125,    123,
     123,    118,    113,    108,
     108,    108,    111,    114,
     114,    114,    121,    137,
     136,    126,    130,    124,
     114,    114,    112,    115,
     127,    153,    174,    180,
     171,    152,    161,    190,
     203,    172,    134,    127,
      89,     79,     94,    113,
      98,     54,     54,     79,
      77,     70,     79,    110,
     124,    137,    174,    218,
     232,    206,    176,    207,
     255,    244,    177,    208,
     145,     94,     36,     46,
      74,     66,     36,     26,
      53,     90,    117,    138,
     155,    163,    157,    149,
     143,    134,    127,    134,
     144,    147,    135,    123,
     142,    166,    175,    155,
     129,    122,    124,    135,
     131,    114,     99,    100,
     105,    106,    111,    120,
     124,    123,    124,    131,
     139,    141,    141,    147,
     144,    133,    124,    117,
     120,    123,    117,    110,
     112,    122,    134,    139,
     139,    145,    150,    148,
     142,    139,    142,    135,
     126,    116,    111,    116,
     121,    128,    125,    123,
     128,    123,    122,    124,
     125,    120,    109,    100,
     102,    102,     94,     95,
     105,    119,    137,    152,
     171,    188,    199,    189,
     187,    192,    190,    169,
     141,    111,     63,     61,
      92,     95,     78,     72,
      96,    116,    112,    118,
     130,    123,    101,     89,
      96,    104,    110,    135,
     178,    209,    201,    177,
     194,    238,    255,    208,
     231,    155,    102,     42,
      38,     70,     72,     50,
      28,     42,     81,    116,
     138,    158,    176,    180,
     173,    160,    145,    131,
     121,    119,    117,    111,
     111,    130,    151,    159,
     148,    136,    143,    168,
     176,    149,    119,     99,
      95,    104,    105,    100,
      98,    102,    106,    110,
     117,    128,    139,    146,
     151,    149,    141,    130,
     124,    127,    129,    124,
     117,    118,    129,    134,
     132,    135,    149,    157,
     153,    143,    135,    131,
     132,    131,    119,    108,
     116,    126,    129,    126,
     120,    120,    114,    115,
     120,    116,    101,     89,
      85,     93,    105,    116,
     138,    161,    170,    170,
     169,    184,    210,    223,
     191,    155,    110,     82,
      98,    106,     93,     53,
      48,     82,    114,    125,
     130,    143,    154,    143,
     138,    131,    115,     92,
      78,     80,     92,     99,
     124,    167,    205,    206,
     179,    174,    215,    255,
     231,    252,    166,    112,
      42,     12,     55,     63,
      37,     11,     31,     78,
     118,    140,    164,    184,
     188,    180,    169,    152,
     136,    120,    120,    121,
     115,    107,    117,    136,
     147,    141,    135,    140,
     162,    163,    144,    127,
     123,    139,    139,    120,
      96,     82,     94,    101,
     100,     94,     96,    106,
     120,    133,    146,    150,
     149,    145,    147,    146,
     139,    130,    133,    151,
     159,    145,    133,    133,
     145,    152,    143,    119,
     103,    112,    121,    120,
     111,    112,    126,    135,
     132,    122,    113,     98,
      89,     87,     89,     86,
      90,    107,    140,    168,
     170,    167,    181,    215,
     234,    201,    159,    144,
     121,    116,    116,     89,
      58,     56,     78,     98,
      86,     90,    124,    154,
     158,    151,    149,    153,
     141,    129,    121,    105,
      81,     65,     70,     89,
     101,    118,    155,    207,
     228,    204,    183,    210,
     255,    252,    255,    166,
     114,     48,      5,     56,
      79,     67,     35,     40,
      78,    118,    142,    163,
     177,    180,    170,    163,
     153,    143,    127,    126,
     126,    129,    126,    126,
     136,    142,    129,    112,
     104,    121,    138,    141,
     127,    109,    110,    119,
     119,    120,    132,    136,
     118,    104,     97,    102,
     123,    137,    139,    139,
     139,    138,    139,    149,
     155,    153,    138,    123,
     128,    138,    134,    121,
     112,    122,    141,    149,
     140,    131,    135,    136,
     129,    123,    127,    126,
     115,     99,     82,     77,
      85,    104,    127,    146,
     143,    128,    128,    161,
     208,    210,    170,    147,
     121,    111,    124,    125,
     116,     96,     95,    108,
     107,    104,    120,    139,
     145,    120,    107,    122,
     141,    138,    127,    125,
     134,    130,    128,    132,
     130,    104,     77,     70,
      91,    111,    128,    150,
     186,    205,    187,    165,
     193,    246,    255,    255,
     181,    131,     75,     25,
      67,     89,     76,     38,
      38,     70,    111,    136,
     161,    178,    181,    170,
     164,    156,    149,    129,
     119,    116,    120,    117,
     119,    131,    143,    140,
     131,    125,    129,    131,
     119,    102,     86,     87,
      99,    106,    110,    115,
     124,    134,    144,    156,
     165,    158,    152,    139,
     137,    147,    144,    129,
     110,    103,    110,    119,
     123,    125,    130,    135,
     140,    141,    143,    148,
     153,    143,    128,    122,
     117,    107,     95,     92,
     100,    109,    118,    129,
     149,    162,    158,    148,
     160,    181,    183,    141,
     113,    102,     79,     84,
      99,    100,     89,     90,
     107,    135,    151,    163,
     167,    158,    139,    134,
     136,    130,    105,     93,
     102,    122,    127,    125,
     132,    149,    149,    140,
     131,    127,    111,     91,
      74,     76,     88,    112,
     141,    178,    193,    181,
     162,    188,    235,    255,
     255,    192,    135,     89,
      28,     55,     80,     77,
      51,     46,     76,    116,
     138,    155,    171,    184,
     180,    164,    145,    134,
     119,    112,    111,    111,
     109,    113,    127,    140,
     139,    129,    126,    135,
     147,    145,    125,    101,
      94,     99,     98,     94,
      95,    103,    119,    129,
     135,    143,    158,    174,
     184,    188,    172,    150,
     139,    114,    102,    103,
     104,    101,    102,    109,
     120,    132,    140,    148,
     155,    152,    133,    112,
     105,    107,    109,    112,
     127,    150,    161,    157,
     147,    161,    184,    181,
     149,    134,    103,     79,
      84,     92,     93,     78,
      79,    102,    119,    125,
     132,    138,    145,    151,
     158,    156,    140,    122,
     123,    134,    140,    125,
     110,    118,    138,    144,
     133,    124,    131,    139,
     137,    123,    110,     94,
      81,     73,     78,     90,
     112,    139,    174,    197,
     193,    173,    184,    226,
     255,    255,    213,    143,
      96,     27,     35,     73,
      82,     59,     44,     70,
     111,    138,    151,    160,
     168,    164,    153,    139,
     130,    124,    119,    120,
     119,    119,    129,    142,
     148,    140,    122,    115,
     125,    135,    133,    119,
     101,     98,    108,    113,
     111,    108,    109,    117,
     123,    121,    121,    134,
     156,    172,    173,    156,
     145,    151,    166,    162,
     136,    114,     97,    107,
     120,    118,    107,     95,
      97,    109,    124,    128,
     126,    136,    157,    172,
     164,    148,    154,    178,
     195,    166,    133,    117,
      89,     86,     99,     94,
      71,     62,     78,     99,
     107,    117,    136,    149,
     150,    147,    144,    145,
     147,    150,    147,    133,
     117,    116,    127,    139,
     127,    110,    109,    125,
     142,    141,    130,    127,
     129,    131,    124,    113,
      96,     82,     76,     79,
      87,    104,    136,    179,
     214,    214,    189,    187,
     221,    255,    255,    234,
     160,    106,     41,     16,
      50,     75,     66,     38,
      43,     83,    122,    144,
     158,    171,    178,    171,
     155,    141,    127,    110,
     102,    106,    108,    111,
     119,    129,    132,    126,
     125,    135,    146,    150,
     142,    125,    113,    114,
     117,    122,    124,    119,
     115,    114,    113,    108,
     107,    116,    130,    144,
     148,    151,    153,    159,
     162,    156,    145,    143,
     143,    120,     96,     85,
      81,    100,    131,    159,
     164,    145,    137,    160,
     200,    214,    180,    149,
     127,    102,     98,    102,
      99,     70,     55,     73,
      90,     95,    101,    116,
     124,    120,    125,    139,
     144,    142,    138,    135,
     138,    145,    154,    161,
     156,    139,    123,    121,
     128,    126,    119,    114,
     117,    126,    123,    115,
     115,    118,    125,    126,
     110,     89,     76,     73,
      81,    100,    125,    152,
     184,    219,    230,    211,
     194,    215,    255,    249,
     255,    199,    133,     78,
      21,     33,     62,     63,
      44,     42,     73,    110,
     133,    155,    173,    177,
     164,    143,    128,    113,
      98,     90,     95,    101,
     107,    118,    131,    143,
     148,    151,    151,    151,
     154,    152,    145,    133,
     119,    109,    104,    106,
     111,    110,    106,    101,
     104,    117,    132,    142,
     147,    151,    153,    140,
     126,    119,    120,    119,
     119,    115,    108,    124,
     157,    195,    206,    184,
     169,    174,    193,    186,
     144,    119,     89,     61,
      79,    100,     95,     78,
      84,    106,    109,    107,
     117,    125,    125,    117,
     115,    111,    107,    113,
     128,    136,    137,    137,
     141,    150,    157,    161,
     162,    158,    145,    129,
     121,    121,    114,    103,
      96,     99,    109,    113,
     116,    125,    132,    136,
     136,    127,    118,    107,
      96,     85,     86,    101,
     122,    159,    198,    223,
     212,    191,    207,    249,
     183,    177,    165,    151,
     137,    117,    105,     93,
      85,     76,     71,     62,
      52,     45,     38,     38,
      38,     38,     35,     27,
      19,      8,      2,      1,
       7,     15,     26,     32,
      36,     40,     43,     48,
      58,     67,     78,     88,
      96,    105,    116,    130,
     145,    160,    173,    182,
     186,    191,    198,    209,
     222,    236,    245,    252,
     252,    247,    243,    238,
     235,    235,    235,    234,
     232,    228,    222,    215,
     207,    199,    188,    178,
     164,    149,    139,    132,
     124,    118,    111,     97,
      83,     68,     58,     47,
      43,     40,     36,     32,
      26,     23,     20,     20,
      26,     32,     39,     45,
      51,     55,     60,     65,
      74,     81,     90,     98,
     104,    113,    125,    139,
     153,    166,    178,    185,
     190,    195,    204,    211,
     219,    226,    226,    225,
     218,    213,    210,    211,
     215,    221,    223,    222,
     215,    207,    197,    190,
     183,    201,    199,    193,
     181,    163,    143,    128,
     115,    110,    107,    107,
      99,     90,     76,     65,
      56,     47,     42,     35,
      25,     18,      9,      3,
       1,      5,     11,     17,
      20,     23,     25,     30,
      35,     44,     49,     54,
      56,     57,     59,     64,
      74,     88,    101,    109,
     112,    113,    113,    116,
     127,    139,    153,    167,
     177,    185,    190,    195,
     202,    211,    218,    226,
     230,    235,    239,    244,
     247,    247,    242,    232,
     218,    202,    186,    181,
     178,    176,    174,    166,
     153,    140,    125,    118,
     114,    115,    114,    111,
     101,     87,     76,     71,
      68,     74,     80,     86,
      90,     93,     98,    102,
     108,    116,    119,    118,
     116,    111,    111,    116,
     126,    136,    144,    145,
     140,    135,    130,    133,
     143,    156,    172,    177,
     178,    172,    168,    170,
     179,    193,    209,    219,
     224,    219,    211,    203,
     199,    201,    115,    116,
     117,    118,    115,    108,
      99,     91,     84,     81,
      81,     81,     79,     73,
      64,     53,     42,     34,
      29,     27,     26,     27,
      26,     24,     22,     20,
      19,     17,     16,     16,
      16,     15,     16,     15,
      17,     21,     27,     33,
      40,     46,     53,     59,
      65,     69,     75,     80,
      87,     95,    104,    113,
     120,    127,    135,    139,
     143,    147,    149,    150,
     151,    150,    152,    153,
     158,    161,    166,    169,
     169,    168,    164,    159,
     157,    157,    158,    160,
     164,    165,    167,    166,
     167,    170,    175,    181,
     188,    197,    203,    210,
     216,    219,    225,    228,
     233,    237,    242,    247,
     251,    253,    255,    253,
     246,    239,    228,    219,
     211,    206,    201,    195,
     189,    180,    171,    161,
     154,    150,    147,    148,
     145,    140,    133,    126,
     121,    120,    122,    127,
     133,    135,    132,    127,
     120,    116,    115,    190,
     185,    179,    173,    166,
     159,    154,    149,    142,
     136,    127,    118,    107,
      97,     87,     78,     69,
      60,     50,     40,     29,
      19,     12,      5,      3,
       1,      1,      3,      5,
       8,     11,     13,     16,
      18,     20,     23,     28,
      34,     42,     50,     59,
      65,     71,     76,     82,
      89,     99,    110,    122,
     133,    141,    147,    151,
     154,    157,    161,    165,
     168,    172,    174,    178,
     181,    185,    187,    190,
     190,    188,    186,    183,
     181,    181,    181,    182,
     183,    183,    180,    177,
     172,    169,    167,    165,
     165,    163,    162,    158,
     155,    151,    147,    142,
     138,    136,    133,    132,
     132,    133,    134,    135,
     135,    132,    131,    129,
     128,    130,    131,    133,
     135,    134,    134,    135,
     137,    141,    147,    152,
     159,    164,    169,    173,
     178,    184,    190,    197,
     201,    204,    204,    202,
     199,    195,    192,    190,
     146,    143,    139,    133,
     123,    113,    102,     94,
      86,     80,     75,     70,
      65,     60,     53,     47,
      41,     35,     30,     26,
      21,     17,     13,      9,
       5,      3,      1,      1,
       1,      3,      5,      6,
       6,      5,      5,      4,
       4,      5,      8,     11,
      14,     17,     19,     20,
      21,     22,     23,     27,
      33,     40,     48,     54,
      60,     65,     69,     74,
      80,     87,     97,    107,
     119,    131,    143,    155,
     165,    174,    181,    186,
     190,    194,    200,    206,
     214,    222,    230,    235,
     237,    237,    236,    235,
     236,    239,    241,    245,
     246,    247,    245,    241,
     236,    231,    229,    227,
     226,    227,    229,    231,
     232,    231,    228,    224,
     217,    211,    205,    200,
     197,    195,    193,    193,
     194,    193,    191,    188,
     184,    180,    176,    172,
     170,    169,    170,    170,
     169,    168,    165,    161,
     156,    152,    149,    147,
     146,    171,    166,    162,
     155,    148,    139,    128,
     117,    103,     92,     83,
      77,     74,     71,     70,
      68,     63,     57,     47,
      37,     27,     18,     10,
       5,      2,      1,      2,
       5,      6,      9,     11,
      12,     11,     12,     12,
      15,     19,     24,     28,
      30,     30,     27,     24,
      22,     21,     25,     31,
      41,     53,     64,     75,
      83,     90,     95,    100,
     107,    113,    120,    130,
     139,    150,    160,    169,
     176,    182,    186,    186,
     187,    187,    187,    190,
     193,    198,    202,    205,
     204,    201,    199,    196,
     195,    196,    198,    199,
     200,    201,    199,    198,
     194,    191,    189,    190,
     190,    191,    193,    195,
     199,    203,    205,    207,
     206,    203,    198,    192,
     186,    181,    178,    176,
     175,    178,    178,    179,
     176,    173,    171,    168,
     167,    167,    170,    174,
     178,    181,    184,    185,
     185,    183,    181,    177,
     174,    171,    189,    188,
     189,    188,    188,    187,
     185,    179,    170,    160,
     150,    142,    136,    131,
     129,    124,    118,    112,
     104,     95,     86,     76,
      65,     52,     40,     29,
      22,     19,     19,     19,
      19,     17,     12,      8,
       6,      6,     10,     14,
      17,     18,     17,     14,
      13,     12,     17,     24,
      32,     39,     46,     51,
      57,     64,     72,     81,
      89,     95,     98,     99,
     101,    105,    112,    120,
     130,    138,    144,    146,
     147,    151,    158,    168,
     179,    190,    199,    204,
     206,    205,    206,    209,
     215,    223,    233,    241,
     247,    251,    252,    252,
     253,    252,    253,    253,
     255,    255,    254,    249,
     242,    232,    220,    206,
     193,    181,    169,    157,
     145,    132,    119,    106,
      96,     89,     85,     85,
      86,     89,     90,     93,
      97,    101,    105,    110,
     115,    119,    122,    128,
     137,    146,    158,    170,
     179,    185,    189,    154,
     160,    167,    173,    179,
     184,    187,    187,    183,
     179,    174,    172,    172,
     174,    178,    180,    178,
     177,    171,    165,    161,
     157,    153,    149,    143,
     134,    125,    115,    106,
      97,     91,     83,     76,
      69,     60,     54,     49,
      45,     42,     39,     33,
      27,     21,     16,     15,
      17,     21,     25,     30,
      33,     35,     36,     39,
      42,     48,     55,     62,
      67,     73,     79,     89,
     100,    115,    129,    141,
     151,    158,    164,    170,
     177,    186,    195,    204,
     212,    219,    222,    226,
     230,    235,    239,    246,
     250,    253,    255,    255,
     253,    250,    245,    237,
     227,    217,    206,    197,
     187,    178,    169,    159,
     146,    133,    121,    107,
      96,     88,     79,     72,
      66,     60,     55,     54,
      53,     54,     58,     60,
      65,     67,     71,     76,
      82,     87,     94,    100,
     105,    112,    118,    125,
     133,    140,    148,    154,
     109,    106,    104,    104,
     102,     99,     93,     87,
      79,     73,     68,     66,
      63,     60,     58,     54,
      50,     50,     52,     56,
      62,     67,     70,     70,
      68,     65,     64,     64,
      66,     68,     69,     67,
      64,     59,     55,     53,
      53,     56,     58,     60,
      59,     56,     52,     48,
      46,     45,     44,     44,
      44,     43,     42,     40,
      40,     40,     42,     45,
      48,     52,     58,     64,
      73,     83,     93,    103,
     111,    118,    123,    129,
     136,    143,    153,    162,
     171,    179,    185,    189,
     194,    199,    207,    214,
     223,    231,    236,    239,
     240,    242,    243,    246,
     249,    252,    255,    255,
     254,    252,    251,    249,
     248,    246,    243,    237,
     230,    222,    215,    209,
     204,    201,    199,    195,
     191,    187,    182,    179,
     178,    179,    178,    177,
     173,    166,    157,    147,
     139,    133,    130,    128,
     127,    124,    119,    114,
     109,    133,    118,    105,
      94,     83,     73,     63,
      53,     42,     32,     24,
      19,     15,     12,     11,
       7,      3,      2,      4,
       8,     17,     27,     37,
      43,     46,     49,     52,
      57,     64,     70,     76,
      80,     81,     80,     79,
      80,     83,     88,     92,
      97,     98,     98,     98,
      98,    100,    102,    103,
     104,    102,    100,     96,
      93,     92,     93,     95,
      96,     96,     97,    100,
     104,    113,    123,    133,
     142,    150,    156,    159,
     163,    167,    170,    173,
     175,    175,    173,    170,
     166,    162,    159,    154,
     150,    147,    144,    142,
     141,    142,    143,    143,
     143,    143,    142,    143,
     145,    148,    152,    157,
     162,    166,    168,    171,
     176,    181,    188,    195,
     202,    210,    218,    224,
     230,    237,    243,    246,
     249,    251,    254,    254,
     255,    254,    249,    242,
     231,    218,    206,    194,
     185,    177,    167,    158,
     146,    133,    187,    182,
     180,    178,    172,    161,
     145,    127,    108,     94,
      84,     79,     72,     64,
      55,     42,     29,     23,
      22,     27,     36,     46,
      54,     55,     54,     51,
      50,     48,     48,     47,
      45,     39,     31,     23,
      19,     18,     20,     26,
      31,     36,     41,     45,
      53,     63,     77,     91,
     105,    114,    121,    126,
     128,    131,    138,    145,
     152,    159,    165,    169,
     173,    178,    189,    200,
     214,    227,    238,    245,
     247,    246,    242,    237,
     232,    226,    216,    205,
     191,    173,    155,    137,
     120,    107,     98,     92,
      88,     85,     81,     79,
      77,     76,     77,     78,
      78,     78,     76,     72,
      70,     70,     72,     75,
      79,     85,     90,     97,
     108,    121,    138,    159,
     180,    198,    212,    220,
     224,    229,    234,    242,
     249,    254,    255,    250,
     240,    229,    217,    210,
     207,    206,    206,    203,
     197,    192,    187,    133,
     128,    125,    120,    111,
      95,     78,     60,     47,
      39,     36,     37,     37,
      34,     27,     17,      7,
       1,      1,      7,     16,
      27,     34,     36,     36,
      33,     31,     30,     34,
      38,     43,     45,     45,
      42,     38,     35,     33,
      34,     36,     37,     37,
      36,     34,     33,     35,
      37,     41,     43,     45,
      44,     42,     42,     44,
      50,     59,     68,     76,
      80,     83,     83,     86,
      94,    106,    123,    141,
     157,    169,    177,    182,
     186,    192,    199,    206,
     213,    217,    218,    216,
     213,    211,    209,    209,
     208,    208,    207,    206,
     206,    207,    209,    212,
     212,    210,    206,    200,
     196,    194,    196,    200,
     203,    205,    204,    202,
     200,    202,    206,    214,
     223,    231,    236,    237,
     237,    234,    235,    237,
     241,    242,    242,    237,
     229,    220,    211,    204,
     198,    192,    184,    173,
     161,    148,    139,    133,
     135,    131,    128,    125,
     119,    110,     98,     85,
      73,     63,     56,     52,
      48,     43,     39,     33,
      28,     26,     26,     29,
      34,     38,     40,     39,
      36,     33,     30,     27,
      25,     24,     22,     17,
      12,      8,      4,      1,
       1,      3,      6,      9,
      12,     15,     17,     19,
      23,     26,     30,     33,
      36,     37,     39,     42,
      46,     52,     59,     67,
      75,     83,     90,     96,
     106,    116,    127,    139,
     150,    161,    168,    175,
     180,    186,    192,    198,
     204,    209,    210,    209,
     207,    205,    204,    204,
     208,    211,    214,    216,
     218,    219,    221,    223,
     226,    230,    230,    230,
     226,    223,    217,    213,
     211,    209,    209,    210,
     211,    212,    214,    217,
     221,    226,    230,    234,
     235,    236,    235,    235,
     233,    232,    228,    223,
     214,    204,    195,    186,
     179,    174,    171,    167,
     162,    155,    148,    141,
     135,    154,    150,    146,
     140,    130,    114,     97,
      81,     70,     63,     59,
      56,     52,     46,     37,
      27,     19,     14,     13,
      15,     17,     18,     16,
      11,      6,      2,      1,
       2,      6,     11,     16,
      18,     19,     21,     25,
      32,     42,     55,     68,
      79,     87,     90,     91,
      93,     96,    101,    111,
     121,    129,    134,    135,
     134,    132,    132,    135,
     139,    145,    149,    150,
     147,    145,    142,    142,
     145,    150,    155,    158,
     158,    155,    152,    149,
     149,    150,    153,    155,
     154,    152,    147,    143,
     141,    142,    144,    147,
     148,    148,    147,    146,
     146,    147,    151,    154,
     156,    156,    156,    155,
     153,    154,    156,    161,
     168,    175,    183,    192,
     200,    207,    212,    217,
     220,    223,    228,    233,
     240,    245,    248,    246,
     242,    234,    226,    220,
     217,    216,    214,    211,
     205,    194,    181,    169,
     159,    154,    107,    103,
     100,     98,     94,     89,
      82,     76,     71,     68,
      66,     66,     65,     63,
      59,     54,     48,     44,
      42,     41,     41,     40,
      37,     31,     26,     19,
      15,     13,     12,     13,
      13,     13,     11,     10,
      10,     12,     17,     22,
      27,     31,     33,     36,
      38,     42,     47,     52,
      58,     62,     64,     65,
      65,     67,     69,     74,
      79,     83,     86,     88,
      90,     92,     98,    105,
     113,    119,    125,    129,
     129,    131,    133,    139,
     145,    154,    162,    168,
     172,    175,    179,    182,
     189,    195,    202,    208,
     212,    215,    216,    220,
     224,    230,    236,    241,
     244,    244,    243,    242,
     241,    242,    245,    248,
     250,    252,    253,    254,
     254,    254,    255,    254,
     252,    249,    244,    239,
     233,    228,    224,    219,
     213,    206,    196,    185,
     175,    166,    158,    152,
     147,    142,    135,    128,
     120,    112,    107,     80,
      78,     75,     71,     64,
      56,     48,     40,     35,
      33,     34,     35,     37,
      38,     39,     37,     36,
      38,     41,     47,     54,
      61,     68,     71,     74,
      76,     78,     81,     88,
      94,    103,    109,    113,
     114,    114,    112,    114,
     117,    123,    128,    134,
     137,    138,    136,    134,
     131,    128,    124,    119,
     112,    104,     97,     89,
      82,     77,     70,     65,
      60,     56,     54,     56,
      61,     67,     73,     77,
      79,     78,     78,     79,
      84,     92,    101,    111,
     119,    124,    127,    130,
     134,    140,    146,    155,
     162,    169,    175,    180,
     187,    195,    204,    215,
     222,    229,    231,    232,
     232,    233,    235,    237,
     239,    241,    244,    245,
     247,    250,    252,    255,
     255,    255,    253,    250,
     246,    241,    235,    227,
     216,    204,    190,    177,
     163,    153,    144,    136,
     129,    120,    110,    101,
      92,     86,     81,     80,
     200,    194,    180,    193,
     171,    165,    153,    139,
     129,    118,     96,     87,
      76,     59,     64,     36,
      34,     28,      1,     17,
      11,      1,     17,     11,
      22,     39,     37,     52,
      69,     72,     93,     92,
     110,    127,    116,    134,
     156,    168,    206,    205,
     236,    242,    233,    239,
     248,    244,    246,    240,
     231,    218,    184,    175,
     165,    143,    139,    105,
     112,     97,     65,     64,
      57,     57,     66,     38,
      48,     52,     39,     43,
      54,     69,     80,    106,
     119,    144,    133,    148,
     159,    141,    158,    154,
     163,    155,    136,    149,
     125,    116,    134,    122,
     138,    135,    128,    126,
     114,    105,    111,    104,
     101,    103,     83,     92,
      88,     86,    116,    107,
     140,    146,    149,    173,
     182,    179,    198,    202,
     202,    198,    178,    178,
     165,    148,    168,    159,
     171,    171,    165,    181,
     172,    175,    199,    175,
     200,    239,    237,    227,
     238,    215,    198,    194,
     175,    162,    143,    136,
     118,    103,     90,     84,
      70,     54,     36,     27,
      11,      7,      1,     10,
      23,     26,     46,     50,
      58,     83,     66,     79,
      78,     83,     86,     90,
     103,    120,    122,    151,
     154,    167,    185,    192,
     197,    218,    216,    222,
     211,    212,    197,    189,
     189,    188,    183,    178,
     167,    173,    154,    150,
     149,    142,    131,    119,
     103,     87,     87,     77,
      64,     72,     79,     88,
      91,     90,    105,    103,
     106,    113,    116,    128,
     124,    130,    118,    109,
     115,    103,    101,    121,
     109,    128,    129,    133,
     128,    123,    116,    109,
      92,     91,     88,     74,
      81,     76,     77,     91,
      85,     98,    109,    116,
     135,    148,    144,    163,
     171,    160,    159,    154,
     149,    144,    138,    155,
     155,    172,    181,    188,
     201,    209,    208,    228,
     219,    239,    250,    252,
     252,    255,    240,    228,
     212,    201,    190,    168,
     156,    148,    136,    124,
     108,    100,     81,     56,
      41,     24,     14,      4,
      12,     26,     27,     38,
      50,     54,     67,     67,
      67,     74,     77,     80,
      87,     92,    110,    115,
     122,    140,    153,    171,
     182,    190,    213,    209,
     205,    206,    197,    194,
     188,    189,    197,    193,
     191,    190,    182,    180,
     170,    161,    161,    143,
     132,    115,     87,     90,
      78,     71,     79,     80,
      87,     95,     89,     90,
      89,     92,     96,    104,
     119,    126,    122,    115,
     111,    105,    101,    109,
     121,    120,    126,    131,
     127,    130,    117,    112,
     108,     86,     83,     76,
      66,     79,     73,     75,
      83,     85,     90,     90,
      96,    118,    125,    134,
     147,    157,    158,    143,
     140,    138,    120,    126,
     135,    143,    160,    160,
     178,    188,    191,    210,
     220,    229,    250,    238,
     248,    250,    255,    242,
     233,    216,    204,    191,
     171,    168,    161,    149,
     146,    135,    123,    105,
      85,     67,     42,     30,
      25,     23,     30,     37,
      44,     45,     59,     69,
      67,     73,     84,     84,
      83,     91,     98,    101,
     108,    120,    126,    136,
     157,    171,    176,    191,
     200,    191,    186,    192,
     190,    175,    184,    194,
     192,    192,    205,    207,
     195,    190,    187,    175,
     157,    146,    129,    104,
      90,     82,     69,     74,
      80,     79,     82,     84,
      88,     76,     82,     91,
      89,    104,    114,    112,
     106,    101,    103,     97,
     100,    119,    120,    122,
     135,    131,    132,    122,
     124,    117,     90,     86,
      84,     69,     75,     77,
      82,     80,     84,     91,
      88,     91,    109,    119,
     128,    143,    156,    157,
     148,    138,    133,    114,
     116,    123,    125,    143,
     148,    156,    167,    173,
     191,    204,    215,    238,
     232,    252,    255,    255,
     242,    229,    210,    197,
     177,    173,    166,    161,
     155,    153,    141,    129,
     116,     98,     75,     60,
      46,     38,     29,     32,
      35,     37,     40,     52,
      55,     61,     70,     83,
      85,     95,    104,    109,
     110,    118,    122,    127,
     138,    157,    167,    175,
     189,    200,    188,    184,
     181,    176,    166,    175,
     185,    198,    207,    225,
     226,    213,    204,    194,
     173,    158,    145,    128,
     103,     89,     74,     66,
      68,     77,     78,     89,
      90,     88,     80,     82,
      79,     82,     90,    104,
     101,     98,     96,     97,
      92,    102,    114,    128,
     137,    147,    148,    146,
     134,    130,    113,     97,
      87,     88,     79,     84,
      87,     90,     89,     93,
      92,     93,     99,    113,
     120,    133,    144,    160,
     154,    147,    135,    126,
     107,    108,    107,    115,
     123,    129,    131,    141,
     148,    167,    189,    214,
     232,    221,    251,    255,
     242,    224,    198,    173,
     158,    146,    153,    157,
     155,    152,    148,    142,
     128,    121,    111,     98,
      84,     69,     56,     47,
      43,     49,     57,     67,
      72,     75,     76,     78,
      83,     94,    105,    113,
     116,    121,    124,    118,
     117,    129,    143,    161,
     177,    203,    215,    201,
     186,    171,    152,    135,
     143,    166,    191,    217,
     230,    236,    217,    196,
     182,    168,    161,    147,
     123,    101,     75,     63,
      66,     74,     82,     90,
     105,    101,     90,     82,
      80,     72,     75,     84,
      99,     99,     92,     84,
      81,     81,    100,    119,
     141,    156,    165,    158,
     154,    140,    128,    116,
     102,     94,     96,     91,
      96,    100,    103,    105,
     111,    104,    103,    107,
     115,    123,    139,    150,
     162,    160,    152,    135,
     123,    104,    101,    102,
     108,    119,    125,    118,
     120,    122,    137,    164,
     194,    221,    209,    247,
     255,    228,    197,    158,
     119,     99,    105,    126,
     137,    141,    135,    131,
     124,    109,    113,    115,
     109,     96,     85,     76,
      68,     73,     77,     91,
      95,     88,     81,     78,
      72,     79,     98,    109,
     118,    131,    133,    136,
     115,    110,    123,    137,
     155,    178,    218,    235,
     213,    187,    159,    134,
     103,    112,    149,    190,
     221,    225,    227,    202,
     172,    159,    157,    167,
     154,    130,    110,     81,
      69,     76,     93,    121,
     139,    140,    122,    100,
      71,     63,     65,     83,
      94,    101,     95,     73,
      53,     36,     46,     86,
     112,    140,    158,    163,
     147,    133,    128,    123,
     117,    103,    103,    110,
     107,    115,    126,    142,
     134,    131,    132,    122,
     119,    122,    139,    158,
     167,    180,    187,    178,
     144,    124,    109,    103,
     105,    113,    141,    146,
     124,    110,     95,    103,
     119,    160,    209,    222,
     255,    249,    216,    184,
     141,    100,     89,    107,
     128,    138,    137,    137,
     132,    118,    104,    117,
     117,    109,     95,     90,
      76,     68,     75,     84,
     102,    101,     92,     82,
      74,     68,     82,    100,
     110,    128,    142,    142,
     134,    111,    109,    125,
     140,    163,    197,    237,
     245,    215,    185,    153,
     125,     99,    121,    163,
     209,    231,    236,    233,
     199,    172,    161,    169,
     170,    147,    120,     96,
      70,     60,     70,     94,
     123,    133,    125,    104,
      82,     49,     46,     60,
      76,     83,     91,     82,
      58,     34,     25,     51,
      94,    119,    149,    166,
     164,    146,    137,    133,
     127,    116,    109,    109,
     117,    120,    131,    148,
     159,    147,    144,    140,
     125,    125,    129,    152,
     167,    175,    188,    191,
     169,    131,    115,    103,
      99,    101,    119,    147,
     136,    109,     87,     78,
      89,    114,    166,    222,
     242,    255,    236,    199,
     155,    110,     84,     87,
     103,    121,    127,    131,
     129,    120,    109,    107,
     111,    106,     96,     88,
      77,     71,     72,     83,
      94,    104,     96,     86,
      74,     71,     75,     94,
     109,    131,    143,    151,
     139,    129,    116,    122,
     136,    160,    194,    232,
     254,    245,    211,    175,
     138,    113,    110,    144,
     190,    229,    248,    246,
     226,    195,    175,    171,
     170,    158,    131,    101,
      73,     58,     59,     83,
     106,    128,    124,    111,
      83,     55,     33,     43,
      56,     70,     76,     76,
      56,     30,     11,     27,
      58,    102,    132,    158,
     163,    155,    141,    134,
     125,    118,    112,    107,
     109,    120,    130,    151,
     161,    166,    161,    152,
     139,    129,    133,    150,
     168,    185,    197,    204,
     187,    156,    124,    109,
     100,    102,    120,    140,
     140,    118,     86,     70,
      69,     95,    142,    201,
     242,    245,    243,    214,
     161,    119,     88,     76,
      80,     93,    109,    116,
     119,    110,    103,    105,
      99,     97,     93,     84,
      72,     69,     66,     72,
      93,     96,     98,     86,
      77,     72,     77,     87,
     106,    133,    149,    154,
     150,    134,    131,    123,
     139,    163,    204,    239,
     254,    255,    236,    189,
     153,    123,    128,    142,
     183,    222,    251,    252,
     236,    215,    196,    185,
     171,    153,    136,     99,
      75,     59,     62,     79,
     101,    114,    116,    105,
      81,     52,     42,     33,
      41,     48,     57,     50,
      40,     21,      6,     15,
      40,     74,    118,    139,
     156,    156,    150,    135,
     125,    113,    107,    105,
     107,    117,    136,    154,
     169,    172,    178,    162,
     151,    142,    142,    159,
     175,    201,    218,    219,
     201,    172,    145,    117,
     109,    111,    129,    142,
     131,    118,     90,     67,
      64,     87,    136,    188,
     230,    245,    238,    231,
     193,    141,     96,     76,
      66,     74,     86,    107,
     115,    126,    114,    109,
     103,     91,     80,     77,
      67,     63,     66,     74,
      83,    101,     90,     83,
      70,     68,     73,     92,
     107,    133,    157,    161,
     151,    136,    120,    125,
     128,    157,    187,    230,
     253,    250,    235,    209,
     165,    136,    118,    134,
     153,    195,    228,    255,
     251,    237,    220,    206,
     194,    164,    127,    106,
      72,     61,     54,     74,
      98,    119,    121,    109,
      88,     59,     38,     47,
      45,     54,     56,     59,
      38,     23,     10,      5,
      32,     62,     93,    134,
     147,    157,    153,    149,
     130,    120,    103,    100,
     101,    113,    129,    152,
     173,    184,    178,    179,
     152,    145,    146,    153,
     174,    197,    219,    230,
     211,    182,    150,    133,
     115,    121,    126,    146,
     146,    118,     92,     70,
      56,     74,    107,    169,
     210,    241,    238,    243,
     242,    199,    144,     94,
      52,     50,     57,     87,
     122,    147,    165,    156,
     131,     97,     73,     54,
      52,     61,     66,     90,
     100,    112,    116,     83,
      71,     53,     58,     82,
     102,    134,    161,    172,
     162,    145,    115,     99,
     103,    110,    147,    171,
     215,    242,    236,    229,
     192,    157,    133,    107,
     101,    115,    158,    207,
     249,    255,    252,    238,
     208,    188,    139,    103,
      83,     66,     80,     80,
     101,    119,    128,    123,
      97,     77,     58,     65,
      69,     77,     88,     84,
      91,     75,     52,     38,
      21,     38,     66,    107,
     146,    169,    177,    171,
     153,    120,     96,     70,
      70,     89,    106,    152,
     171,    193,    191,    160,
     135,    108,    110,    132,
     157,    184,    207,    219,
     202,    183,    146,    131,
     130,    128,    145,    142,
     150,    152,    125,    102,
      64,     51,     66,    105,
     153,    200,    236,    243,
     252,    250,    219,    157,
      97,     59,     49,     57,
      93,    126,    154,    173,
     164,    139,     99,     65,
      50,     46,     57,     65,
      84,    101,    106,    112,
      89,     64,     54,     51,
      67,     94,    125,    155,
     172,    166,    146,    114,
      95,     90,    100,    129,
     162,    210,    244,    251,
     238,    206,    168,    136,
     115,     98,    104,    143,
     191,    237,    255,    255,
     243,    219,    198,    150,
     109,     82,     67,     78,
      82,    103,    124,    131,
     127,    101,     73,     50,
      54,     70,     83,     98,
      96,     95,     84,     57,
      38,     24,     32,     63,
     108,    149,    174,    186,
     176,    152,    121,     93,
      69,     69,     86,    109,
     145,    169,    191,    187,
     161,    133,    105,    103,
     120,    150,    179,    202,
     218,    207,    177,    141,
     124,    121,    133,    148,
     149,    154,    153,    133,
     109,     68,     50,     58,
      95,    146,    195,    238,
     252,    239,    224,    241,
     204,    175,    154,    176,
     161,    168,    165,    146,
     142,    143,    143,    142,
     126,    128,    111,    120,
     108,     87,     92,    121,
     157,    139,    142,    137,
     131,    152,    172,    179,
     175,    162,    134,    144,
     157,    149,    159,    170,
     207,    212,    214,    206,
     188,    181,    198,    175,
     183,    163,    151,    152,
     169,    203,    224,    183,
     167,    162,    158,    190,
     170,    119,    123,    110,
      77,     78,     84,     98,
     122,    131,    128,     93,
      60,     72,     63,     51,
      44,      1,     15,     37,
      29,     40,     20,     37,
      53,     68,     93,     82,
      34,     45,     69,     67,
      74,     57,     30,     45,
      41,     55,     61,     91,
     106,    104,    117,    101,
      65,     94,    113,    131,
     146,    176,    147,    133,
     127,    134,    125,    140,
     136,    113,    108,    133,
     106,    137,    142,    138,
     144,    178,    193,    222,
     243,    239,    226,    200,
     199,    208,    212,    171,
     153,    134,    145,    138,
     119,    114,     97,    110,
     133,    111,     99,     88,
      62,     74,     83,     86,
      88,     93,    107,    137,
     122,     93,     75,     98,
     141,    139,    123,     83,
      98,     88,     89,     88,
      93,    132,    149,    150,
     150,    138,    116,    135,
     122,    134,    119,    111,
     113,    118,    148,    155,
     107,     96,    120,    141,
     172,    142,    111,    120,
     123,    116,    106,    114,
     128,    157,    175,    175,
     151,    135,    135,    139,
     118,    102,     90,     86,
      99,    110,    106,     75,
      81,    122,    174,    189,
     163,    124,    117,    162,
     156,    132,    112,    117,
     126,    128,     85,     63,
      94,    118,    134,    113,
      78,     56,     77,    108,
     130,    115,    117,    120,
     135,    151,    156,    145,
     124,    142,    157,    159,
     121,    113,    147,    185,
     171,    152,    151,    192,
     254,    255,    226,    224,
     232,    238,    227,    203,
     174,    138,    158,    177,
     149,    116,    129,    104,
      83,     74,     46,     82,
      85,     67,     60,     53,
      56,     66,     72,     69,
      79,     75,    103,     91,
      88,     99,     99,    107,
      69,    103,     79,     47,
      83,    102,    112,    106,
      75,     69,    113,     97,
      88,     70,     89,     88,
      78,     95,     52,     79,
     111,     68,     79,     90,
      91,    121,     92,     66,
     105,    114,    113,     76,
     104,    147,    149,    163,
     151,    144,    192,    176,
     169,    195,    162,    168,
     194,    179,    179,    188,
     150,    143,    170,    207,
     217,    193,    200,    200,
     244,    212,    174,    171,
     180,    151,    151,    109,
     101,    144,    105,     92,
      85,     56,     60,     62,
      55,     80,    111,    113,
      97,    109,    123,    126,
     133,    117,    129,    159,
     191,    167,    168,    185,
     188,    180,    183,    181,
     209,    255,    246,    224,
     237,    236,    240,    210,
     205,    172,    156,    131,
     147,    161,    155,    146,
     113,     73,     63,     48,
      68,     78,     72,     62,
      50,     42,     61,     54,
      36,     49,     77,    110,
     114,     96,     95,    111,
     137,    100,     78,     50,
      56,    116,    129,     92,
      64,     41,     54,     61,
      48,     72,     33,     37,
      45,     50,     55,     19,
      32,     52,     37,     76,
      75,     84,     89,     63,
      61,     73,     74,     94,
      71,     98,    111,    129,
     137,    171,    170,    199,
     214,    204,    234,    247,
     239,    248,    254,    237,
     254,    217,    196,    201,
     212,    241,    248,    244,
     242,    222,    223,    226,
     198,    217,    164,    153,
     140,    145,    171,    126,
      97,     86,     50,     35,
      50,     30,     47,     65,
      91,     69,     73,     86,
     115,    122,    114,    115,
     134,    177,    182,    199,
     201,    175,    169,    195,
     195,    198,    236,    255,
     237,    190,    198,    186,
     157,    164,    142,    122,
     113,    134,    148,    142,
     150,    124,     83,     73,
      53,     91,    121,     87,
      72,     71,     67,     89,
      75,     71,     80,     97,
     127,    147,    117,    118,
     120,    139,    105,     82,
      79,     82,    128,    119,
      77,     62,     41,     57,
      80,     49,     35,     44,
      57,     75,     51,     38,
      22,     42,     67,     70,
      73,     73,     77,     96,
      69,     38,     56,     74,
      94,     78,     84,    107,
     123,    131,    149,    155,
     207,    220,    213,    225,
     211,    228,    255,    244,
     224,    217,    214,    205,
     217,    229,    243,    230,
     229,    214,    219,    207,
     189,    200,    202,    162,
     167,    152,    160,    186,
     150,    119,     98,     71,
      84,     87,     67,     57,
      70,     84,     87,    107,
     128,    124,    137,    116,
     110,    152,    182,    178,
     171,    154,    152,    152,
     150,    154,    166,    197,
     200,    190,    166,    171,
     179,    162,    155,    144,
     139,    134,    137,    140,
     124,    133,    137,    126,
     115,     93,    100,     95,
      88,     76,     84,     80,
      96,     80,     80,     84,
     106,    119,    138,    125,
     135,    139,    150,    120,
     111,    109,    109,    128,
     105,     80,     77,     66,
      77,     60,     45,     40,
      43,     35,     48,     40,
      39,     25,     50,     49,
      55,     50,     48,     67,
      84,     64,     45,     46,
      55,     75,     60,     58,
      73,    100,    108,    113,
     133,    174,    188,    199,
     209,    225,    226,    244,
     255,    247,    247,    238,
     239,    252,    252,    253,
     246,    254,    252,    239,
     225,    216,    208,    217,
     213,    195,    173,    181,
     186,    181,    152,    135,
     111,    107,     90,     80,
      63,     66,     75,     76,
      72,     84,     95,    110,
     114,    112,    121,    128,
     132,    133,    144,    144,
     139,    138,    144,    144,
     155,    163,    166,    156,
     151,    160,    157,    158,
     141,    128,    125,    147,
     152,    146,    157,    161,
     146,    127,    117,    119,
      99,    106,    107,    107,
      99,    119,    111,    107,
     108,    126,    138,    169,
     165,    172,    165,    169,
     152,    151,    144,    120,
     126,    133,    133,    114,
     102,    100,     77,     74,
      64,     65,     44,     64,
      64,     64,     57,     52,
      43,     60,     67,     54,
      55,     61,     56,     35,
      48,     37,     39,     37,
      50,     62,     88,    107,
     102,    137,    167,    173,
     184,    198,    205,    223,
     239,    241,    229,    231,
     234,    234,    255,    247,
     243,    230,    242,    228,
     215,    203,    207,    206,
     202,    206,    180,    158,
     175,    181,    157,    138,
     124,     88,     82,     78,
      63,     49,     46,     40,
      58,     72,     68,     80,
      98,     88,     81,     99,
     115,    116,    113,    135,
     136,    129,    115,    120,
     127,    136,    147,    156,
     151,    151,    147,    155,
     145,    139,    136,    133,
     148,    167,    151,    164,
     164,    157,    157,    155,
     156,    145,    151,    168,
     157,    143,    147,    124,
     125,    132,    153,    162,
     157,    155,    149,    137,
     144,    136,    129,    123,
     117,    119,    114,    106,
      91,     68,     75,     47,
      46,     56,     44,     19,
      37,     22,     18,     21,
      29,     27,     35,     50,
      41,     59,     67,     56,
      64,     78,     67,     88,
      97,    105,    102,    122,
     151,    166,    199,    208,
     201,    204,    220,    226,
     242,    242,    253,    255,
     247,    248,    251,    247,
     245,    237,    219,    225,
     211,    187,    162,    163,
     157,    155,    153,    134,
     114,    140,    146,    125,
     109,     96,     66,     63,
      69,     63,     54,     59,
      51,     50,     60,     71,
      78,     83,     86,     86,
      94,    108,    111,    110,
     125,    127,    123,    125,
     129,    136,    156,    159,
     151,    180,    188,    196,
     204,    202,    214,    202,
     208,    211,    213,    215,
     195,    174,    181,    186,
     182,    167,    148,    134,
     138,    135,    118,    130,
     102,    106,    126,    130,
     110,    112,     97,     88,
      83,     78,     78,     67,
      38,     31,     42,     27,
      22,     25,     21,     20,
      10,     17,     24,     30,
       1,     28,     21,     26,
      56,     95,     85,     85,
      82,     98,    119,    132,
     122,    118,    118,    122,
     155,    144,    148,    147,
     178,    207,    232,    245,
     230,    232,    233,    252,
     255,    236,    208,    226,
     241,    242,    226,    212,
     205,    216,    211,    193,
     195,    176,    149,    134,
     144,    142,    150,    136,
     110,    103,    116,    116,
      99,     79,     56,     51,
      54,     43,     42,     38,
      46,     53,     52,     53,
      68,     81,     84,    111,
     113,     87,     86,     94,
     116,    127,    133,    125,
     138,    149,    168,    183,
     193,    180,    218,    223,
     211,    198,    193,    208,
     199,    195,    191,    177,
     155,    151,    127,    142,
     136,    117,    122,    109,
      96,     87,     73,     49,
      50,     34,     40,     37,
      57,     24,     34,     20,
      16,      1,     41,     49,
      41,     38,     41,     39,
      71,     56,     70,     75,
      85,     89,    126,    124,
     125,    101,    127,    111,
     133,    147,    168,    160,
     149,    147,    162,    156,
     161,    166,    161,    156,
     158,    149,    138,    156,
     151,    144,    159,    140,
     146,    160,    167,    154,
     163,    173,    151,    148,
     167,    165,    172,    177,
     164,    164,    164,    168,
     159,    181,    165,    146,
     126,    123,    126,    147,
     140,    128,     98,    114,
     129,    134,    117,    103,
      87,     93,     86,    107,
      98,     98,     81,     84,
      84,    109,     92,     99,
     120,    134,    118,    148,
     136,    147,    160,    184,
     172,    181,    191,    217,
     228,    233,    218,    204,
     211,    206,    200,    178,
     175,    169,    153,    147,
     135,    120,    117,    110,
     105,     96,     80,     86,
      59,     51,     35,     17,
      15,     32,      4,      2,
       1,     10,      4,     29,
      32,     26,     16,     54,
      81,     88,     76,     89,
     100,    115,    134,    163,
     165,    151,    148,    183,
     200,    193,    165,    182,
     181,    183,    199,    207,
     184,    162,    177,    194,
     185,    186,    168,    145,
     152,    149,    134,    117,
     108,     99,    103,    111,
     107,     99,    106,    110,
     111,    120,    124,    116,
     118,    124,    123,    118,
     141,    143,    131,    135,
     139,    115,    141,    148,
     120,    100,    115,    124,
     129,    138,    124,     99,
     112,    131,    133,    129,
     110,     98,    123,    116,
     116,     97,    104,     91,
      85,    108,    133,    118,
     134,    148,    155,    162,
     188,    200,    189,    192,
     212,    203,    223,    231,
     224,    228,    216,    204,
     181,    178,    173,    167,
     153,    137,    128,    116,
     109,     97,     86,     73,
      68,     62,     54,     38,
      38,     24,     19,     14,
      11,      1,      8,      4,
       7,      9,     20,     30,
      43,     47,     59,     65,
      89,     98,     99,    104,
     116,    125,    149,    163,
     165,    166,    174,    178,
     189,    188,    185,    178,
     177,    174,    175,    177,
     172,    167,    158,    153,
     156,    151,    141,    128,
     117,    114,    111,    103,
      90,     89,     90,     91,
      93,     91,     91,    101,
     111,    112,    112,    117,
     115,    120,    122,    130,
     132,    140,    144,    147,
     146,    149,    144,    146,
     150,    147,    137,    142,
     148,    151,    154,    148,
     136,    141,    150,    152,
     146,    140,    136,    142,
     141,    141,    131,    131,
     134,    143,    154,    165,
     170,    170,    181,    190,
     196,    202,    206,    202,
     210,    212,    208,    202,
     206,    203,    198,    187,
     181,    165,    156,    144,
     142,    132,    118,    102,
      90,     78,     71,     63,
      57,     45,     36,     33,
      18,     20,     13,     10,
       9,      8,      1,      6,
      10,     15,     22,     39,
      49,     59,     74,     89,
      94,    110,    117,    126,
     130,    145,    159,    170,
     181,    184,    187,    196,
     194,    196,    195,    197,
     190,    183,    181,    175,
     169,    167,    161,    151,
     147,    144,    128,    126,
     118,    103,     94,     88,
      80,     79,     88,     87,
      79,     77,     77,     87,
     101,    109,    104,    111,
     109,    111,    116,    123,
     129,    129,    139,    140,
     136,    136,    144,    142,
     140,    143,    144,    136,
     143,    154,    152,    150,
     145,    137,    143,    152,
     153,    153,    146,    139,
     144,    148,    151,    141,
     153,    157,    162,    170,
     183,    187,    192,    198,
     207,    207,    213,    220,
     220,    215,    216,    209,
     199,    200,    194,    185,
     173,    165,    166,    158,
     146,    137,    126,    114,
     102,     90,     79,     67,
      56,     49,     40,     30,
      24,     11,      9,      7,
       4,      3,      3,      1,
       3,      7,      9,     13,
      19,     26,     39,     53,
      63,     73,     84,     97,
     106,    117,    133,    146,
     156,    167,    171,    182,
     186,    184,    190,    192,
     195,    194,    190,    184,
     181,    182,    177,    171,
     162,    152,    144,    140,
     129,    120,    109,     97,
      90,     86,     81,     78,
      78,     75,     73,     76,
      83,     87,     95,    100,
     103,    105,    109,    115,
     123,    130,    134,    140,
     142,    143,    145,    154,
     156,    154,    156,    158,
     154,    154,    159,    156,
     157,    154,    150,    152,
     159,    161,    163,    158,
     153,    157,    163,    165,
     163,    169,    168,    169,
     178,    186,    188,    195,
     203,    208,    214,    218,
     219,    219,    222,    219,
     215,    210,    202,    194,
     191,    178,    166,    178,
     171,    162,    153,    141,
     128,    118,    106,     98,
      87,     76,     70,     61,
      51,     43,     33,     28,
      23,     17,     11,      6,
       1,      1,      3,      7,
      10,     14,     21,     33,
      44,     55,     65,     73,
      83,     94,    103,    115,
     126,    138,    148,    153,
     163,    171,    174,    182,
     185,    187,    188,    185,
     184,    183,    183,    181,
     177,    175,    169,    162,
     157,    151,    141,    133,
     121,    110,    105,    100,
      95,     90,     86,     83,
      84,     88,     89,     92,
      97,    100,    101,    104,
     105,    110,    119,    123,
     127,    130,    134,    138,
     144,    150,    149,    147,
     149,    149,    152,    158,
     157,    156,    155,    155,
     157,    161,    163,    163,
     160,    159,    159,    161,
     161,    158,    159,    160,
     163,    170,    176,    180,
     184,    187,    190,    194,
     200,    203,    203,    205,
     204,    201,    200,    200,
     195,    193,    185,    178,
     193,    190,    184,    170,
     155,    145,    141,    127,
     119,    105,     92,     83,
      80,     69,     58,     43,
      36,     32,     31,     23,
      10,      2,      1,      1,
       7,      5,      4,      7,
      20,     27,     36,     44,
      46,     53,     67,     77,
      89,     98,    108,    121,
     127,    142,    152,    154,
     161,    169,    175,    180,
     180,    179,    180,    188,
     189,    181,    181,    178,
     172,    170,    161,    148,
     137,    131,    117,    108,
     102,     91,     83,     82,
      78,     78,     85,     82,
      81,     86,     93,     94,
      99,    106,    110,    121,
     133,    139,    145,    158,
     161,    168,    178,    182,
     181,    185,    182,    179,
     187,    186,    182,    178,
     175,    170,    174,    171,
     162,    156,    153,    151,
     150,    149,    144,    142,
     143,    143,    150,    158,
     158,    160,    166,    168,
     173,    179,    186,    185,
     187,    189,    194,    199,
     203,    199,    199,    194,
     193,    201,    194,    182,
     167,    152,    137,    128,
     120,    115,    113,    110,
     107,    102,     97,     93,
      88,     85,     84,     81,
      75,     64,     49,     33,
      18,      7,      1,      2,
       9,     21,     33,     45,
      56,     64,     71,     78,
      84,     91,     99,    106,
     111,    114,    118,    122,
     125,    129,    136,    146,
     156,    165,    175,    181,
     186,    190,    193,    196,
     201,    202,    201,    197,
     190,    182,    176,    169,
     163,    158,    152,    150,
     145,    143,    140,    136,
     129,    121,    112,    107,
     102,    100,     99,     99,
      97,     95,     92,     90,
      91,     93,     96,    101,
     105,    108,    109,    111,
     113,    116,    116,    117,
     115,    116,    117,    121,
     125,    129,    133,    136,
     138,    139,    141,    144,
     150,    155,    163,    170,
     175,    177,    177,    175,
     172,    169,    166,    167,
     172,    179,    190,    199,
     207,    212,    211,    211,
     206,    201,    200,    195,
     188,    180,    170,    162,
     156,    150,    145,    139,
     130,    118,    104,     90,
      78,     70,     66,     64,
      62,     57,     47,     34,
      23,     10,      3,      1,
       3,     12,     21,     27,
      34,     38,     39,     41,
      43,     45,     46,     48,
      51,     54,     57,     62,
      68,     73,     77,     84,
      94,    103,    112,    124,
     135,    147,    157,    166,
     175,    182,    185,    186,
     187,    189,    192,    195,
     198,    200,    200,    197,
     195,    192,    189,    186,
     181,    171,    160,    150,
     143,    138,    137,    136,
     136,    134,    131,    127,
     123,    122,    122,    125,
     128,    130,    129,    126,
     121,    114,    109,    103,
      98,     96,     96,    100,
     104,    110,    115,    120,
     125,    128,    131,    136,
     142,    149,    156,    165,
     174,    178,    181,    184,
     190,    196,    201,    204,
     207,    207,    205,    204,
     205,    208,    210,    209,
     208,    204,    200,    217,
     230,    230,    212,    183,
     148,    115,     97,     98,
     114,    133,    142,    143,
     129,    104,     87,     79,
      82,     91,    102,    112,
     113,    109,    102,     95,
      86,     83,     88,     97,
      89,     71,     47,     18,
       1,      2,     16,     36,
      56,     69,     73,     74,
      74,     80,     82,     87,
      97,    109,    123,    133,
     151,    170,    186,    195,
     203,    209,    207,    197,
     186,    181,    185,    194,
     207,    215,    216,    214,
     205,    203,    200,    198,
     191,    176,    147,    118,
      90,     71,     55,     49,
      55,     65,     68,     71,
      79,     85,     96,    115,
     141,    164,    176,    172,
     162,    141,    121,    100,
      84,     72,     65,     75,
      93,    109,    118,    128,
     131,    136,    139,    140,
     136,    126,    109,     95,
      94,    104,    115,    125,
     143,    162,    174,    175,
     170,    166,    157,    149,
     156,    170,    184,    193,
     192,    200,    206,    217,
     163,    160,    155,    147,
     138,    127,    115,    105,
      99,     94,     91,     89,
      85,     81,     76,     71,
      66,     61,     57,     52,
      47,     43,     41,     40,
      40,     39,     36,     32,
      26,     19,     13,      8,
       4,      2,      1,      1,
       2,      4,      8,     13,
      18,     22,     25,     26,
      27,     28,     33,     41,
      49,     58,     66,     73,
      80,     89,     99,    109,
     117,    122,    128,    132,
     136,    145,    152,    159,
     165,    170,    175,    179,
     183,    186,    188,    186,
     185,    183,    183,    185,
     188,    193,    196,    197,
     196,    194,    192,    192,
     195,    198,    201,    204,
     207,    209,    211,    212,
     212,    210,    206,    201,
     196,    191,    187,    185,
     183,    182,    183,    182,
     181,    179,    176,    173,
     170,    167,    164,    162,
     163,    169,    178,    189,
     197,    201,    201,    198,
     194,    192,    190,    186,
     182,    176,    171,    167,
     163,    219,    210,    199,
     186,    169,    150,    129,
     112,     98,     89,     85,
      84,     83,     80,     74,
      66,     59,     53,     48,
      46,     47,     52,     56,
      59,     59,     56,     49,
      42,     33,     23,     15,
       8,      3,      1,      1,
       4,      9,     15,     23,
      30,     35,     38,     41,
      42,     41,     42,     46,
      50,     56,     62,     66,
      69,     71,     76,     88,
     106,    127,    147,    166,
     179,    186,    190,    193,
     194,    197,    199,    205,
     209,    215,    219,    220,
     215,    208,    200,    196,
     191,    185,    181,    176,
     169,    162,    158,    155,
     155,    159,    164,    170,
     177,    183,    187,    189,
     188,    186,    183,    178,
     172,    164,    151,    136,
     120,    108,     98,     94,
      92,     94,     95,     95,
      94,     93,     96,    102,
     113,    127,    148,    175,
     200,    220,    235,    246,
     251,    249,    251,    250,
     248,    245,    240,    235,
     228,    219,    159,    156,
     152,    147,    139,    129,
     117,    106,     96,     90,
      86,     85,     84,     82,
      79,     74,     67,     61,
      55,     49,     45,     43,
      41,     39,     37,     33,
      29,     24,     19,     13,
       9,      5,      3,      1,
       1,      4,      8,     14,
      21,     28,     34,     38,
      42,     43,     42,     41,
      41,     42,     44,     46,
      48,     50,     52,     56,
      66,     82,    101,    121,
     139,    151,    157,    158,
     157,    157,    159,    164,
     172,    179,    186,    190,
     192,    191,    191,    191,
     193,    195,    196,    196,
     193,    190,    185,    182,
     180,    181,    184,    189,
     195,    203,    210,    215,
     219,    219,    218,    215,
     212,    211,    211,    210,
     208,    204,    197,    188,
     178,    170,    164,    160,
     157,    157,    157,    161,
     166,    173,    180,    188,
     195,    200,    202,    202,
     201,    197,    192,    189,
     185,    182,    178,    172,
     167,    163,    159,    153,
     149,    143,    137,    130,
     122,    112,    101,     91,
      82,     75,     70,     65,
      61,     56,     50,     44,
      39,     35,     31,     26,
      23,     18,     15,     12,
       9,      6,      4,      3,
       2,      1,      1,      2,
       2,      5,      6,      8,
       9,     10,     10,     10,
      11,     14,     18,     21,
      24,     27,     29,     31,
      33,     37,     43,     50,
      58,     68,     82,     97,
     110,    122,    133,    141,
     147,    151,    155,    160,
     165,    170,    175,    181,
     186,    190,    194,    197,
     200,    203,    205,    206,
     206,    205,    203,    202,
     202,    202,    203,    206,
     209,    213,    218,    222,
     226,    228,    228,    226,
     224,    221,    218,    216,
     215,    213,    211,    210,
     207,    204,    202,    201,
     201,    202,    203,    204,
     205,    206,    207,    208,
     211,    212,    212,    209,
     206,    202,    197,    191,
     186,    181,    176,    172,
     167,    163,    158,    153,
     173,    168,    163,    159,
     154,    146,    134,    120,
     106,     93,     84,     78,
      74,     69,     63,     55,
      48,     41,     37,     32,
      29,     26,     22,     19,
      16,     14,     11,      8,
       5,      3,      1,      1,
       1,      2,      5,      8,
      12,     15,     19,     22,
      25,     29,     35,     42,
      48,     54,     59,     64,
      70,     77,     85,     94,
     101,    108,    115,    124,
     135,    145,    156,    165,
     170,    171,    170,    167,
     167,    167,    170,    174,
     179,    184,    187,    188,
     189,    189,    190,    189,
     188,    185,    180,    175,
     169,    164,    161,    160,
     162,    165,    169,    173,
     177,    178,    178,    176,
     173,    170,    166,    164,
     162,    160,    159,    160,
     162,    164,    171,    180,
     191,    201,    210,    215,
     215,    213,    210,    207,
     206,    209,    211,    213,
     212,    209,    204,    199,
     194,    191,    188,    186,
     185,    184,    181,    178,
     173,    168,    159,    151,
     146,    143,    137,    130,
     119,    106,     92,     80,
      69,     58,     49,     40,
      32,     26,     21,     19,
      15,     13,     13,     12,
      12,     11,     10,      8,
       5,      3,      1,      1,
       2,      4,      9,     14,
      19,     25,     31,     35,
      38,     43,     50,     60,
      71,     79,     87,     92,
      97,    102,    107,    115,
     124,    131,    137,    143,
     149,    154,    158,    162,
     166,    168,    168,    167,
     164,    161,    160,    160,
     161,    164,    166,    168,
     168,    167,    166,    165,
     164,    164,    163,    161,
     157,    153,    150,    146,
     143,    142,    142,    145,
     149,    153,    154,    154,
     152,    151,    149,    149,
     154,    162,    168,    173,
     178,    181,    182,    184,
     190,    198,    207,    213,
     218,    218,    218,    217,
     217,    217,    220,    223,
     224,    224,    222,    218,
     214,    210,    208,    204,
     201,    197,    193,    186,
     178,    168,    152,    140,
     130,    120,    113,    106,
      97,     86,     75,     64,
      53,     42,     32,     24,
      16,     12,     12,     17,
      22,     26,     28,     29,
      26,     23,     20,     16,
      13,     10,      8,      6,
       4,      2,      1,      2,
       6,     10,     12,     13,
      13,     11,     10,     12,
      19,     28,     38,     50,
      60,     69,     76,     81,
      83,     86,     88,     90,
      93,     98,    105,    112,
     118,    125,    129,    132,
     134,    139,    147,    158,
     171,    183,    192,    197,
     199,    200,    201,    204,
     207,    210,    212,    214,
     212,    206,    198,    191,
     182,    176,    172,    170,
     170,    169,    169,    168,
     167,    166,    163,    160,
     158,    158,    163,    169,
     179,    189,    198,    206,
     214,    222,    229,    237,
     245,    250,    253,    253,
     251,    250,    248,    248,
     247,    245,    242,    237,
     230,    224,    217,    210,
     204,    198,    191,    184,
     175,    165,    152,    144,
     135,    128,    120,    114,
     105,     95,     85,     72,
      63,     55,     48,     42,
      37,     31,     26,     21,
      19,     18,     17,     17,
      18,     16,     13,      8,
       4,      2,      1,      3,
       4,      6,      7,      8,
      10,     14,     18,     24,
      32,     39,     45,     51,
      57,     64,     71,     80,
      87,     93,     97,     99,
     100,     99,    100,    101,
     102,    103,    106,    112,
     121,    129,    136,    139,
     140,    139,    137,    141,
     147,    154,    161,    167,
     171,    175,    178,    182,
     184,    184,    183,    179,
     174,    169,    163,    158,
     155,    152,    150,    149,
     148,    149,    149,    150,
     152,    158,    165,    172,
     179,    183,    187,    191,
     194,    200,    209,    217,
     224,    231,    237,    242,
     245,    250,    253,    253,
     251,    249,    245,    241,
     238,    236,    233,    230,
     228,    223,    217,    210,
     201,    193,    185,    177,
     169,    161,    154,    144,
     127,    120,    115,    110,
     106,    102,     96,     89,
      81,     73,     66,     60,
      54,     49,     41,     33,
      26,     20,     17,     17,
      17,     18,     18,     18,
      15,     10,      7,      3,
       2,      2,      3,      4,
       7,     12,     19,     26,
      36,     49,     60,     70,
      79,     87,     93,     97,
     101,    104,    106,    108,
     110,    111,    111,    112,
     111,    109,    107,    106,
     107,    111,    115,    117,
     116,    114,    113,    113,
     117,    126,    134,    140,
     144,    148,    154,    162,
     170,    177,    182,    186,
     184,    179,    174,    169,
     163,    159,    155,    151,
     148,    146,    146,    146,
     148,    150,    154,    161,
     172,    183,    193,    202,
     209,    213,    216,    221,
     226,    232,    238,    244,
     248,    250,    254,    255,
     255,    253,    251,    248,
     244,    238,    232,    224,
     217,    212,    206,    202,
     196,    188,    178,    169,
     159,    150,    141,    134,
     127,    141,    132,    123,
     116,    111,    105,     98,
      92,     84,     77,     70,
      64,     57,     48,     38,
      27,     18,     12,     10,
      13,     16,     19,     19,
      18,     14,     10,      7,
       5,      5,      5,      3,
       2,      1,      3,      7,
      14,     23,     32,     38,
      44,     51,     56,     62,
      70,     79,     89,     97,
     106,    113,    118,    119,
     121,    123,    126,    129,
     133,    139,    144,    148,
     150,    149,    148,    148,
     148,    151,    153,    155,
     154,    153,    152,    153,
     155,    160,    162,    162,
     162,    159,    155,    151,
     147,    145,    145,    147,
     148,    150,    150,    151,
     149,    149,    148,    151,
     156,    162,    169,    177,
     183,    188,    192,    198,
     208,    217,    226,    233,
     239,    240,    240,    241,
     242,    244,    245,    247,
     248,    246,    243,    240,
     235,    230,    224,    217,
     212,    206,    198,    191,
     185,    177,    169,    160,
     151,    141,    148,    134,
     119,    105,     97,     91,
      89,     85,     81,     75,
      67,     60,     53,     46,
      38,     32,     26,     25,
      26,     30,     33,     35,
      33,     31,     28,     24,
      21,     19,     17,     18,
      20,     21,     24,     28,
      33,     37,     44,     55,
      68,     81,     95,    108,
     119,    128,    135,    142,
     150,    160,    169,    177,
     181,    185,    186,    185,
     183,    183,    186,    189,
     193,    195,    196,    194,
     190,    181,    169,    157,
     146,    135,    126,    122,
     121,    121,    120,    115,
     108,     99,     90,     82,
      77,     73,     74,     79,
      84,     92,     97,    101,
     102,     99,     95,     92,
      92,     97,    107,    120,
     133,    145,    154,    162,
     169,    178,    189,    201,
     213,    223,    231,    238,
     244,    249,    253,    254,
     255,    255,    253,    251,
     248,    241,    233,    225,
     216,    209,    203,    197,
     192,    187,    182,    175,
     167,    158,    148,    156,
     150,    144,    135,    123,
     111,     97,     83,     73,
      66,     62,     63,     64,
      63,     60,     56,     49,
      43,     39,     37,     36,
      36,     34,     33,     33,
      33,     36,     38,     39,
      39,     37,     33,     29,
      26,     25,     26,     31,
      41,     53,     66,     79,
      90,     98,    105,    110,
     118,    129,    143,    159,
     172,    182,    191,    195,
     197,    202,    208,    217,
     224,    229,    231,    230,
     225,    220,    213,    205,
     199,    193,    186,    177,
     171,    164,    156,    148,
     138,    129,    118,    103,
      88,     73,     60,     49,
      44,     42,     45,     47,
      48,     46,     40,     35,
      30,     29,     33,     44,
      61,     82,    102,    120,
     136,    148,    161,    175,
     191,    208,    223,    235,
     243,    248,    248,    248,
     249,    250,    253,    255,
     254,    252,    246,    238,
     229,    220,    213,    209,
     203,    198,    192,    184,
     176,    169,    162,    156,
     135,    128,    123,    117,
     110,    102,     93,     84,
      78,     73,     70,     68,
      65,     61,     55,     51,
      48,     47,     49,     53,
      56,     58,     60,     60,
      59,     58,     56,     52,
      47,     40,     32,     25,
      20,     18,     16,     15,
      14,     13,     13,     11,
      11,     11,     13,     15,
      19,     25,     34,     43,
      52,     61,     68,     73,
      78,     85,     97,    112,
     128,    142,    154,    162,
     168,    176,    187,    198,
     209,    217,    221,    219,
     214,    210,    206,    203,
     201,    200,    200,    198,
     194,    186,    176,    166,
     157,    151,    148,    149,
     148,    144,    138,    129,
     120,    114,    111,    114,
     121,    130,    140,    149,
     155,    159,    163,    172,
     182,    195,    209,    220,
     228,    231,    231,    231,
     234,    239,    245,    251,
     255,    254,    248,    238,
     228,    217,    208,    200,
     194,    188,    183,    176,
     168,    159,    150,    142,
     135,    107,     95,     84,
      72,     61,     52,     43,
      34,     27,     21,     15,
      12,      9,      7,      6,
       7,     10,     14,     18,
      23,     29,     34,     40,
      43,     47,     51,     53,
      55,     55,     55,     54,
      51,     49,     45,     41,
      36,     31,     26,     21,
      18,     15,     11,     10,
      10,     10,     11,     13,
      16,     19,     23,     27,
      33,     38,     43,     49,
      57,     68,     77,     88,
      99,    110,    123,    134,
     147,    157,    167,    178,
     186,    195,    203,    211,
     218,    223,    228,    232,
     234,    235,    235,    233,
     232,    229,    225,    222,
     219,    214,    209,    204,
     199,    194,    191,    189,
     188,    191,    193,    197,
     202,    207,    213,    217,
     224,    229,    234,    239,
     243,    247,    250,    253,
     254,    255,    255,    254,
     254,    251,    249,    245,
     239,    232,    224,    216,
     207,    198,    188,    177,
     166,    155,    144,    131,
     120,    107,    118,    104,
      89,     73,     59,     48,
      40,     32,     24,     15,
       7,      3,      1,      1,
       4,      7,     11,     15,
      19,     24,     31,     36,
      43,     46,     50,     55,
      59,     63,     62,     62,
      61,     62,     61,     61,
      58,     54,     45,     37,
      31,     29,     29,     30,
      31,     33,     29,     25,
      22,     24,     29,     35,
      41,     46,     47,     47,
      47,     50,     57,     64,
      72,     79,     90,    104,
     118,    133,    143,    155,
     165,    174,    185,    194,
     207,    215,    221,    228,
     233,    238,    242,    244,
     242,    241,    234,    227,
     224,    223,    223,    219,
     212,    205,    195,    189,
     187,    189,    194,    198,
     203,    206,    209,    211,
     213,    216,    217,    218,
     221,    225,    232,    235,
     238,    239,    240,    240,
     240,    242,    243,    242,
     238,    231,    224,    216,
     210,    205,    199,    189,
     179,    165,    154,    147,
     139,    131,    118,    132,
     113,     91,     69,     52,
      43,     39,     35,     30,
      18,      7,      1,      2,
       7,     16,     23,     29,
      29,     29,     31,     37,
      45,     54,     56,     58,
      62,     65,     66,     63,
      60,     58,     59,     60,
      62,     62,     55,     42,
      28,     18,     17,     20,
      28,     36,     40,     35,
      25,     17,     16,     23,
      35,     47,     55,     57,
      52,     46,     45,     49,
      54,     57,     62,     74,
      91,    110,    128,    140,
     151,    159,    164,    175,
     188,    204,    216,    222,
     230,    235,    241,    246,
     249,    249,    246,    234,
     223,    216,    216,    220,
     219,    213,    201,    186,
     177,    178,    186,    197,
     206,    212,    215,    218,
     219,    219,    219,    216,
     212,    212,    215,    222,
     226,    231,    236,    240,
     244,    246,    247,    248,
     246,    239,    230,    221,
     212,    208,    205,    199,
     189,    175,    159,    150,
     148,    148,    145,    132,
     146,    122,     94,     67,
      46,     40,     44,     47,
      47,     34,     20,     15,
      19,     33,     50,     62,
      67,     64,     57,     53,
      58,     66,     76,     79,
      77,     78,     77,     75,
      69,     61,     57,     58,
      59,     64,     63,     56,
      40,     22,      6,      6,
      12,     26,     40,     48,
      42,     27,     12,     10,
      19,     36,     57,     72,
      75,     68,     58,     52,
      50,     51,     51,     52,
      63,     83,    106,    125,
     137,    146,    150,    151,
     160,    175,    196,    210,
     218,    225,    228,    231,
     237,    242,    242,    239,
     221,    203,    192,    189,
     198,    201,    196,    183,
     166,    155,    161,    175,
     192,    207,    215,    216,
     219,    218,    219,    217,
     209,    199,    196,    200,
     209,    213,    220,    231,
     244,    251,    255,    255,
     254,    247,    236,    226,
     215,    206,    200,    197,
     193,    181,    163,    146,
     139,    148,    157,    160,
     146,    154,    127,     96,
      69,     49,     46,     54,
      64,     68,     58,     45,
      41,     49,     69,     92,
     108,    113,    105,     93,
      86,     88,     97,    107,
     109,    105,    102,     99,
      93,     85,     74,     68,
      68,     69,     73,     73,
      65,     49,     28,     11,
      10,     17,     34,     52,
      60,     53,     33,     15,
      11,     21,     41,     67,
      87,     92,     86,     75,
      66,     61,     57,     54,
      52,     61,     81,    104,
     124,    135,    141,    141,
     138,    145,    161,    182,
     197,    204,    209,    210,
     211,    216,    221,    222,
     217,    197,    175,    159,
     155,    165,    172,    169,
     157,    140,    129,    139,
     158,    178,    196,    204,
     204,    206,    206,    207,
     203,    194,    183,    178,
     181,    189,    195,    206,
     222,    239,    251,    255,
     253,    249,    239,    225,
     214,    202,    192,    187,
     185,    179,    165,    147,
     130,    127,    140,    158,
     165,    154,    157,    129,
      97,     71,     52,     51,
      64,     79,     87,     79,
      68,     65,     76,    101,
     128,    147,    151,    141,
     126,    115,    115,    124,
     134,    135,    128,    122,
     116,    108,     98,     84,
      76,     75,     75,     79,
      77,     70,     52,     30,
      11,     10,     17,     36,
      55,     64,     56,     35,
      14,      9,     20,     42,
      71,     95,    103,     99,
      89,     77,     71,     65,
      59,     56,     64,     84,
     108,    126,    136,    141,
     138,    132,    137,    152,
     174,    189,    195,    198,
     197,    196,    199,    203,
     204,    199,    175,    152,
     134,    127,    138,    146,
     145,    134,    119,    109,
     121,    144,    166,    185,
     194,    193,    195,    195,
     196,    193,    184,    170,
     165,    169,    178,    184,
     197,    217,    238,    251,
     255,    250,    245,    232,
     215,    204,    192,    182,
     176,    173,    166,    152,
     132,    117,    116,    133,
     155,    166,    157,    144,
     117,     86,     61,     43,
      45,     63,     84,     97,
      92,     83,     84,    100,
     126,    155,    175,    178,
     167,    148,    133,    129,
     136,    145,    145,    135,
     126,    117,    106,     95,
      79,     70,     67,     66,
      68,     65,     57,     39,
      18,      1,      1,     10,
      31,     52,     64,     57,
      37,     19,     18,     31,
      55,     86,    112,    120,
     117,    107,     92,     82,
      72,     61,     53,     60,
      81,    103,    121,    129,
     132,    128,    123,    130,
     147,    169,    187,    198,
     204,    203,    201,    206,
     212,    212,    204,    175,
     148,    126,    115,    127,
     136,    137,    128,    114,
     104,    117,    142,    163,
     180,    187,    185,    187,
     186,    189,    189,    184,
     171,    163,    162,    171,
     177,    191,    212,    233,
     249,    252,    245,    238,
     226,    213,    205,    194,
     183,    176,    172,    164,
     147,    124,    106,    103,
     118,    141,    152,    144,
     117,     89,     64,     47,
      31,     34,     55,     84,
     102,    100,     96,    104,
     126,    153,    178,    196,
     196,    184,    163,    144,
     136,    140,    145,    142,
     128,    115,    107,     97,
      88,     73,     65,     62,
      58,     61,     58,     51,
      35,     16,      1,      2,
      11,     30,     53,     67,
      64,     49,     35,     39,
      54,     82,    113,    139,
     147,    144,    132,    114,
     100,     87,     72,     59,
      61,     79,     97,    111,
     115,    117,    114,    112,
     124,    142,    162,    186,
     206,    220,    222,    218,
     228,    235,    231,    219,
     185,    157,    131,    116,
     125,    132,    134,    130,
     118,    110,    122,    143,
     161,    171,    177,    174,
     174,    171,    176,    183,
     181,    168,    156,    152,
     158,    161,    171,    192,
     212,    228,    232,    225,
     221,    212,    205,    203,
     195,    185,    177,    174,
     167,    146,    118,     97,
      89,     98,    114,    125,
     117,     84,     61,     48,
      40,     29,     31,     48,
      78,    100,    105,    109,
     124,    147,    171,    187,
     195,    193,    181,    163,
     142,    128,    128,    131,
     125,    107,     94,     86,
      79,     73,     63,     61,
      63,     61,     63,     58,
      52,     44,     33,     24,
      24,     29,     45,     63,
      76,     75,     69,     64,
      71,     88,    113,    140,
     161,    168,    167,    158,
     139,    123,    106,     92,
      77,     75,     88,     94,
     103,    104,    102,    101,
     101,    117,    134,    150,
     176,    206,    229,    233,
     231,    247,    255,    249,
     236,    202,    179,    153,
     133,    139,    141,    142,
     142,    134,    128,    135,
     151,    161,    160,    161,
     156,    156,    155,    159,
     173,    178,    165,    153,
     144,    147,    144,    146,
     160,    174,    188,    192,
     187,    190,    186,    186,
     191,    190,    183,    177,
     176,    169,    147,    121,
     100,     84,     83,     90,
      94,     84,     69,     52,
      46,     45,     37,     35,
      45,     71,     93,    105,
     116,    134,    154,    169,
     175,    175,    168,    159,
     145,    127,    113,    110,
     110,    103,     86,     74,
      69,     66,     64,     61,
      63,     68,     71,     73,
      68,     65,     66,     64,
      62,     64,     67,     75,
      83,     91,     91,     91,
      94,    103,    119,    137,
     156,    170,    176,    179,
     173,    159,    145,    128,
     114,    100,     96,    102,
     100,    103,    102,     99,
      98,    102,    120,    134,
     141,    163,    193,    220,
     225,    224,    244,    255,
     251,    239,    212,    197,
     176,    157,    158,    155,
     155,    157,    150,    145,
     146,    156,    160,    152,
     150,    146,    145,    144,
     148,    164,    170,    159,
     146,    133,    133,    127,
     124,    132,    139,    150,
     154,    151,    156,    156,
     161,    169,    170,    166,
     162,    164,    162,    146,
     127,    112,     95,     85,
      81,     80,     69,     58,
      44,     42,     42,     36,
      33,     40,     61,     83,
      99,    114,    133,    152,
     161,    163,    160,    152,
     145,    134,    119,    106,
     100,     99,     92,     76,
      66,     62,     62,     65,
      67,     72,     80,     86,
      88,     84,     81,     84,
      87,     89,     91,     93,
      96,     99,    103,    105,
     110,    117,    126,    139,
     153,    166,    174,    179,
     183,    182,    173,    161,
     146,    135,    124,    121,
     124,    116,    115,    111,
     105,    103,    109,    128,
     138,    139,    157,    187,
     215,    221,    220,    242,
     255,    251,    237,    214,
     202,    185,    166,    166,
     160,    161,    164,    159,
     154,    151,    156,    156,
     142,    139,    135,    133,
     131,    134,    152,    161,
     155,    141,    127,    123,
     117,    113,    117,    120,
     127,    129,    126,    130,
     132,    140,    149,    151,
     149,    148,    152,    152,
     139,    125,    113,     97,
      82,     73,     68,     58,
      59,     47,     44,     42,
      37,     38,     43,     60,
      80,     95,    108,    126,
     147,    158,    158,    156,
     152,    147,    135,    121,
     108,    102,    101,     96,
      82,     72,     65,     66,
      70,     71,     76,     86,
      94,     96,     91,     88,
      89,     91,     95,     96,
      94,     96,     98,    102,
     103,    108,    117,    129,
     142,    157,    170,    178,
     183,    187,    188,    181,
     172,    161,    152,    144,
     144,    148,    140,    135,
     127,    119,    118,    126,
     147,    155,    150,    165,
     195,    221,    224,    219,
     242,    255,    249,    231,
     205,    195,    177,    155,
     156,    152,    151,    157,
     153,    149,    146,    152,
     153,    137,    131,    129,
     129,    129,    135,    156,
     170,    165,    149,    130,
     118,    106,    102,    104,
     103,    104,    106,    102,
     101,    102,    113,    125,
     131,    131,    134,    140,
     140,    132,    123,    114,
      99,     86,     76,     69,
      59,     76,     67,     63,
      60,     58,     61,     63,
      71,     83,     95,    102,
     119,    144,    163,    164,
     161,    161,    155,    136,
     121,    109,    104,    103,
     100,     87,     73,     60,
      59,     61,     61,     61,
      72,     84,     85,     78,
      70,     66,     65,     71,
      75,     73,     75,     83,
      92,     92,     96,    110,
     131,    147,    168,    187,
     196,    200,    202,    203,
     197,    189,    182,    178,
     171,    176,    183,    171,
     161,    145,    135,    136,
     148,    173,    178,    167,
     177,    206,    233,    229,
     220,    243,    255,    243,
     218,    187,    176,    154,
     128,    131,    130,    131,
     143,    146,    146,    147,
     158,    166,    146,    138,
     142,    147,    152,    161,
     188,    205,    195,    175,
     146,    117,     92,     87,
      88,     81,     72,     71,
      63,     56,     51,     62,
      79,     89,     92,    102,
     114,    121,    122,    123,
     122,    112,    105,     96,
      87,     76,    107,    106,
     107,    109,    113,    121,
     120,    114,    110,    109,
     109,    124,    155,    181,
     187,    185,    187,    179,
     150,    132,    124,    119,
     116,    114,    100,     81,
      59,     47,     47,     38,
      26,     32,     44,     42,
      27,     14,      2,      1,
      14,     29,     34,     41,
      63,     85,     88,     94,
     116,    152,    176,    202,
     228,    240,    239,    231,
     225,    214,    207,    207,
     207,    201,    205,    210,
     194,    169,    141,    127,
     132,    149,    175,    180,
     163,    166,    192,    218,
     207,    196,    222,    234,
     220,    191,    157,    147,
     125,     96,    106,    108,
     106,    125,    136,    142,
     147,    162,    177,    155,
     141,    153,    161,    168,
     183,    213,    232,    217,
     198,    175,    131,     92,
      88,     90,     77,     59,
      59,     49,     29,     16,
      20,     32,     41,     43,
      56,     74,     89,    104,
     120,    132,    135,    139,
     134,    117,    107,    147,
     152,    155,    158,    167,
     174,    169,    154,    140,
     129,    120,    124,    146,
     170,    176,    175,    178,
     170,    145,    133,    130,
     129,    129,    128,    120,
     104,     85,     75,     72,
      60,     43,     43,     48,
      41,     26,     14,      3,
       1,     12,     29,     40,
      48,     71,     92,     97,
     102,    122,    154,    178,
     202,    226,    234,    228,
     214,    205,    195,    191,
     196,    201,    198,    199,
     200,    183,    158,    131,
     119,    123,    134,    149,
     151,    136,    134,    147,
     160,    151,    142,    156,
     165,    157,    140,    119,
     118,    106,     88,     96,
     101,    102,    116,    127,
     135,    140,    154,    171,
     157,    146,    156,    163,
     168,    177,    197,    208,
     196,    189,    179,    143,
     112,    108,    111,    101,
      85,     86,     79,     59,
      45,     42,     43,     41,
      38,     48,     63,     79,
      99,    122,    143,    153,
     162,    162,    151,    147,
     173,    181,    185,    189,
     199,    207,    198,    176,
     154,    136,    122,    120,
     136,    158,    164,    163,
     165,    157,    131,    119,
     119,    119,    120,    122,
     118,    105,     90,     82,
      79,     67,     52,     50,
      54,     47,     31,     18,
       6,      1,     12,     28,
      37,     46,     65,     84,
      87,     92,    112,    145,
     172,    197,    222,    233,
     225,    210,    200,    192,
     191,    199,    207,    208,
     209,    208,    191,    164,
     135,    121,    123,    131,
     140,    142,    129,    124,
     128,    134,    125,    117,
     125,    131,    126,    112,
      97,     98,     93,     79,
      87,     93,     94,    107,
     118,    128,    138,    154,
     177,    169,    160,    172,
     180,    184,    191,    204,
     212,    199,    195,    191,
     156,    123,    118,    120,
     108,     88,     89,     85,
      65,     51,     43,     40,
      32,     26,     35,     51,
      68,     93,    125,    150,
     167,    180,    182,    173,
     173,    152,    160,    167,
     161,    161,    184,    204,
     199,    152,     92,     78,
     104,    128,    147,    142,
     151,    165,    178,    157,
     145,    154,    154,    159,
     147,    103,     68,     79,
     113,    118,    100,     68,
      84,    118,    132,     98,
      79,     76,     85,    117,
      99,     43,      9,     12,
      46,     74,     83,     85,
     113,    142,    188,    199,
     165,    126,     84,     97,
     107,    121,    119,    133,
     156,    200,    255,    244,
     196,    163,    120,    127,
     160,    157,    145,    122,
     140,    198,    232,    213,
     215,    223,    201,    191,
     166,    113,    103,     79,
      68,     93,    117,    135,
     169,    161,    139,    148,
     166,    188,    143,     87,
      79,     80,     63,     63,
      98,    116,    124,    143,
     156,    121,     70,     70,
      92,     97,     70,     83,
      82,     81,     83,     83,
      99,    108,     94,     99,
     120,    113,    103,    122,
     162,    178,    174,    154,
     141,    152,    159,    145,
     116,    132,    154,    160,
     154,    134,     88,     68,
      67,     64,     70,    106,
     156,    194,    198,    165,
     118,    122,    166,    184,
     186,    145,    109,     84,
     118,    179,    202,    147,
      73,     56,    108,    147,
      90,     61,     47,     72,
     108,    121,     82,     45,
       6,     14,     61,    102,
      97,     71,     87,    138,
     170,    166,    127,     71,
      80,    111,    141,    143,
     140,    142,    181,    226,
     233,    182,    126,     98,
     123,    192,    204,    157,
     106,    135,    218,    255,
     207,    127,     88,    102,
     154,    190,    179,    159,
     110,     74,    102,    122,
     122,    111,     91,     99,
     139,    158,    171,    152,
     155,    162,    145,    114,
      92,    115,    148,    168,
     192,    180,    101,     40,
      61,     97,    105,     91,
      97,    112,    140,    147,
     131,    122,    108,     63,
      55,     93,    128,    153,
     158,    155,    163,    176,
     179,    169,    159,    160,
     162,    152,    149,    152,
     148,    142,    125,    110,
     103,    101,    103,    110,
     121,    137,    159,    176,
     188,    166,    153,    161,
     179,    186,    168,    142,
     108,    118,    134,    130,
     115,     89,     79,     98,
     113,     93,     73,     49,
      50,     61,     68,     54,
      42,     44,     54,     59,
      65,     72,     80,     91,
     104,    106,     90,     83,
      92,    109,    132,    143,
     144,    149,    159,    168,
     183,    184,    164,    150,
     148,    158,    163,    176,
     187,    184,    194,    225,
     255,    252,    233,    214,
     188,    176,    180,    180,
     175,    156,    135,    148,
     167,    175,    165,    149,
     141,    155,    168,    168,
     143,    121,    114,    120,
     120,    125,    123,    102,
      86,    104,    115,     91,
      63,     54,     53,     62,
      64,     70,     71,     73,
      79,     95,    105,    102,
      95,     99,    117,    118,
     120,    126,    133,    138,
     136,    140,    144,    160,
     147,    159,    148,    140,
     131,    128,    128,    130,
     114,     99,     99,    115,
     129,    136,    143,    157,
     184,    214,    222,    211,
     202,    219,    233,    236,
     212,    175,    168,    170,
     162,    144,    115,     97,
      99,    112,    108,     85,
      60,     51,     48,     58,
      51,     48,     44,     38,
      33,     29,     34,     40,
      54,     70,     74,     71,
      71,     79,     93,    104,
     109,    119,    131,    146,
     163,    174,    173,    165,
     164,    179,    193,    191,
     190,    195,    207,    226,
     241,    249,    255,    243,
     235,    221,    201,    183,
     172,    177,    179,    170,
     168,    159,    152,    146,
     135,    132,    145,    146,
     133,    111,    111,    117,
     126,    123,    114,    109,
      87,     56,     44,     46,
      39,     32,     43,     53,
      57,     45,     48,     62,
      78,     78,     80,     84,
      93,     97,    104,    123,
     127,    128,    131,    138,
     142,    125,    116,    129,
     147,    135,    158,    148,
     144,    129,    108,    119,
     122,    110,     88,     75,
      97,    110,    128,    139,
     133,    166,    202,    225,
     220,    199,    210,    231,
     230,    216,    179,    175,
     167,    158,    140,    107,
      90,     88,    103,    109,
      96,     78,     71,     68,
      78,     77,     83,     81,
      61,     40,     35,     38,
      37,     45,     65,     75,
      75,     81,     98,    115,
     112,    110,    118,    134,
     143,    155,    162,    156,
     151,    162,    174,    183,
     183,    178,    182,    193,
     213,    227,    238,    255,
     255,    246,    233,    213,
     195,    177,    174,    168,
     154,    149,    143,    138,
     140,    139,    142,    142,
     137,    129,    116,    122,
     134,    132,    116,    107,
     113,     97,     56,     33,
      30,     28,     26,     35,
      55,     71,     68,     65,
      73,     93,     95,     92,
      90,    103,    117,    123,
     126,    115,    118,    131,
     141,    143,    126,    113,
     124,    135,    119,    140,
     135,    131,    113,     91,
     100,    114,    112,     81,
      69,     87,    109,    121,
     124,    115,    149,    193,
     225,    214,    191,    196,
     233,    234,    216,    177,
     164,    159,    156,    135,
     112,     96,     90,    110,
     122,    113,     89,     75,
      68,     80,     88,    100,
     101,     80,     53,     50,
      56,     55,     56,     69,
      83,     87,     90,    112,
     131,    124,    115,    124,
     141,    151,    159,    159,
     149,    145,    161,    188,
     204,    208,    202,    195,
     206,    222,    228,    234,
     248,    255,    247,    234,
     226,    208,    192,    181,
     175,    165,    157,    148,
     138,    136,    143,    145,
     146,    138,    127,    111,
     113,    122,    124,    108,
     106,    105,     96,     60,
      32,     19,     23,     22,
      26,     44,     61,     56,
      53,     62,     88,     94,
      89,     84,     97,    117,
     129,    127,    106,    106,
     116,    131,    126,    117,
     105,    116,    119,    133,
     148,    139,    130,    110,
      83,     96,    117,    112,
      84,     79,     98,    116,
     131,    130,    122,    158,
     204,    232,    228,    205,
     213,    239,    244,    232,
     196,    173,    165,    159,
     144,    127,    107,     92,
     108,    131,    122,     97,
      72,     58,     71,     91,
     108,    111,     87,     57,
      51,     60,     58,     58,
      66,     77,     78,     82,
     106,    129,    121,    104,
     115,    135,    150,    161,
     154,    137,    134,    153,
     185,    209,    215,    208,
     199,    209,    226,    229,
     227,    243,    255,    245,
     235,    225,    205,    185,
     180,    178,    170,    150,
     136,    128,    130,    139,
     140,    138,    133,    121,
     102,    104,    115,    112,
     101,     96,     93,     84,
      54,     19,      7,     10,
      11,     15,     35,     53,
      48,     40,     54,     82,
      95,     93,     85,     97,
     121,    140,    136,    109,
     106,    120,    136,    134,
     115,    112,    119,    133,
     129,    153,    151,    140,
     114,     77,     84,    120,
     118,     88,     71,     94,
     122,    133,    131,    116,
     142,    195,    240,    241,
     212,    198,    234,    250,
     241,    202,    172,    160,
     159,    143,    121,    108,
      94,    116,    130,    124,
     100,     81,     68,     78,
      93,    108,    115,    101,
      72,     58,     65,     60,
      60,     66,     84,     87,
      89,    108,    130,    124,
     109,    118,    135,    147,
     153,    148,    130,    130,
     144,    175,    205,    209,
     198,    187,    197,    217,
     214,    209,    229,    248,
     240,    230,    218,    194,
     175,    168,    169,    165,
     145,    128,    116,    119,
     133,    136,    134,    129,
     118,     94,     96,    114,
     113,    106,     92,     87,
      84,     58,     21,      1,
       4,     10,     13,     40,
      55,     49,     45,     57,
      95,    111,    106,     98,
     113,    133,    152,    145,
     121,    117,    123,    134,
     137,    121,    123,    124,
     129,     76,    122,    115,
      84,     60,     22,     58,
     125,    133,    107,    104,
      82,     49,     34,     62,
      75,    117,    145,    183,
     176,    146,    114,    173,
     181,    179,    127,    107,
     111,    116,    107,    100,
     134,    151,    190,    186,
     152,    102,     91,     89,
     121,    146,    141,    135,
     126,    121,    130,    158,
     155,    145,    136,    133,
     125,    145,    189,    212,
     183,    160,    175,    183,
     170,    191,    190,    144,
     113,     19,     46,    120,
     183,    184,    218,    171,
     146,    134,    156,    220,
     255,    229,    190,    172,
     130,    101,    130,    195,
     234,    206,    157,    108,
      86,     98,    124,    162,
     177,    159,     90,     76,
     102,    139,    170,    190,
     176,    145,     82,     15,
       6,     50,     82,     86,
      96,     99,     65,     60,
      66,    124,    139,    144,
     119,    120,    104,     99,
     105,    116,    142,    155,
     137,     83,     55,     69,
      56,     76,      3,      1,
       4,     19,     34,     47,
      80,    115,    127,    108,
      67,     35,     22,     17,
      23,     31,     53,     83,
     117,    147,    161,    159,
     147,    111,     80,     53,
      42,     45,     61,     84,
     106,    126,    142,    160,
     165,    147,    112,     77,
      55,     60,     82,    115,
     150,    175,    191,    210,
     232,    230,    196,    151,
     122,    121,    139,    155,
     160,    170,    192,    220,
     244,    249,    239,    205,
     157,    125,    125,    130,
     145,    156,    171,    204,
     230,    241,    246,    241,
     231,    208,    181,    169,
     163,    157,    162,    179,
     206,    227,    231,    228,
     215,    192,    160,    133,
     120,    114,    105,     96,
     108,    138,    170,    188,
     189,    174,    146,    102,
      69,     55,     59,     65,
      68,     86,    116,    145,
     161,    154,    141,    117,
      87,     56,     46,     51,
      58,     63,     75,    102,
     129,    136,    122,     91,
      64,     31,      3,      9,
      17,     29,     44,     64,
      89,    117,    134,    129,
     104,     67,     36,     22,
      22,     27,     33,     51,
      88,    131,    155,    152,
     131,    101,     70,     44,
      30,     26,     34,     50,
      75,    104,    131,    146,
     151,    144,    125,     91,
      55,     39,     51,     83,
     114,    142,    170,    194,
     211,    212,    193,    159,
     125,    104,    102,    113,
     126,    138,    157,    190,
     228,    244,    231,    201,
     163,    131,    111,    113,
     115,    124,    144,    176,
     217,    246,    255,    250,
     237,    215,    189,    166,
     155,    149,    149,    162,
     187,    215,    237,    245,
     242,    220,    183,    144,
     119,    112,    112,    111,
     118,    139,    170,    194,
     203,    198,    177,    148,
     114,     89,     80,     79,
      87,    107,    140,    170,
     186,    185,    168,    143,
     114,     86,     65,     58,
      60,     68,     83,    103,
     127,    141,    138,    124,
      94,     56,     22,      9,
      18,     28,     39,     55,
      80,    110,    134,    138,
     116,     80,     47,     28,
      24,     30,     37,     48,
      68,     95,    121,    132,
     118,     89,     58,     35,
      24,     17,     16,     26,
      47,     73,     99,    121,
     129,    120,    101,     77,
      56,     44,     48,     66,
      91,    116,    141,    165,
     183,    190,    178,    148,
     116,     98,     96,    104,
     118,    133,    148,    170,
     193,    210,    211,    191,
     164,    138,    121,    113,
     116,    126,    142,    165,
     196,    230,    251,    251,
     241,    225,    204,    181,
     165,    162,    168,    177,
     192,    215,    240,    255,
     252,    232,    203,    176,
     151,    137,    136,    137,
     136,    146,    173,    205,
     219,    210,    188,    162,
     140,    118,    103,    101,
     108,    124,    149,    177,
     198,    199,    185,    160,
     135,    109,     85,     72,
      72,     83,     97,    110,
     126,    142,    144,    128,
      99,     67,     42,     22,
      18,     47,     56,     67,
      83,    101,    113,    115,
     102,     79,     52,     30,
      25,     31,     46,     58,
      66,     81,     97,    109,
     105,     84,     54,     28,
      14,     16,     28,     39,
      48,     60,     73,     89,
     102,     97,     78,     55,
      38,     32,     38,     57,
      77,     98,    115,    134,
     152,    158,    152,    130,
     104,     86,     84,     96,
     112,    127,    140,    154,
     173,    187,    190,    178,
     155,    133,    118,    118,
     127,    127,    141,    160,
     187,    214,    237,    246,
     238,    221,    198,    178,
     169,    170,    179,    190,
     198,    211,    229,    248,
     255,    241,    215,    185,
     167,    159,    159,    163,
     166,    174,    188,    208,
     223,    220,    204,    181,
     162,    147,    138,    136,
     139,    146,    159,    178,
     194,    200,    193,    174,
     144,    119,    102,     96,
      99,    106,    111,    118,
     128,    140,    145,    136,
     109,     80,     56,     47,
      45,     47,     75,     86,
      93,    100,    106,    107,
      98,     80,     56,     37,
      28,     34,     48,     64,
      77,     81,     85,     87,
      85,     72,     52,     28,
       7,      1,     11,     28,
      44,     54,     63,     70,
      76,     76,     65,     44,
      24,     16,     22,     39,
      62,     80,     94,    106,
     119,    128,    130,    120,
      99,     79,     72,     79,
      98,    120,    137,    147,
     155,    163,    164,    159,
     147,    128,    111,    106,
     114,    131,    146,    167,
     184,    201,    216,    229,
     230,    217,    196,    177,
     170,    176,    190,    205,
     217,    227,    238,    247,
     249,    238,    217,    194,
     174,    166,    171,    183,
     194,    202,    209,    217,
     225,    227,    215,    194,
     170,    153,    149,    156,
     169,    179,    185,    192,
     199,    204,    201,    185,
     161,    136,    121,    115,
     119,    127,    133,    136,
     143,    148,    149,    138,
     117,     88,     65,     53,
      54,     64,     75,     97,
     108,    114,    112,    109,
      99,     81,     62,     44,
      35,     37,     51,     69,
      87,     96,     97,     92,
      83,     72,     53,     30,
      11,      1,      7,     26,
      48,     63,     68,     68,
      62,     56,     50,     36,
      20,     10,     12,     27,
      50,     74,     94,    104,
     109,    113,    108,    100,
      87,     72,     65,     70,
      85,    107,    131,    145,
     151,    150,    147,    138,
     127,    114,    100,     94,
     100,    119,    146,    156,
     179,    192,    200,    208,
     211,    203,    186,    169,
     160,    167,    185,    204,
     224,    236,    242,    244,
     243,    235,    218,    197,
     179,    168,    170,    181,
     199,    212,    221,    224,
     222,    218,    212,    196,
     178,    163,    156,    161,
     176,    195,    207,    213,
     215,    212,    208,    197,
     176,    152,    131,    124,
     129,    142,    156,    162,
     161,    158,    151,    141,
     122,     98,     74,     60,
      59,     69,     84,     97,
     114,    118,    113,    101,
      88,     73,     57,     47,
      42,     45,     56,     72,
      87,     96,     95,     86,
      71,     55,     40,     24,
       9,      3,      5,     19,
      39,     56,     61,     57,
      48,     39,     28,     20,
      11,      4,      6,     18,
      39,     64,     84,     95,
      98,     95,     88,     77,
      67,     61,     60,     65,
      81,    101,    120,    135,
     143,    141,    133,    123,
     109,     98,     92,     90,
      97,    114,    141,    166,
     178,    194,    201,    200,
     197,    191,    182,    171,
     164,    171,    190,    215,
     235,    249,    255,    252,
     245,    235,    222,    206,
     188,    180,    182,    193,
     209,    223,    231,    233,
     228,    217,    204,    192,
     179,    171,    169,    176,
     190,    205,    220,    229,
     229,    223,    212,    200,
     185,    168,    153,    144,
     149,    159,    172,    179,
     177,    167,    154,    139,
     123,    102,     85,     71,
      68,     76,     91,    107,
     114,    113,    111,    102,
      88,     74,     60,     49,
      47,     51,     61,     72,
      82,     89,     89,     79,
      61,     40,     25,     19,
      16,     13,     15,     22,
      36,     49,     56,     54,
      42,     28,     16,      7,
       6,      7,     12,     24,
      42,     59,     73,     81,
      80,     78,     72,     67,
      58,     53,     55,     63,
      77,     96,    111,    121,
     128,    128,    120,    108,
      97,     90,     91,     99,
     109,    122,    140,    159,
     172,    182,    188,    185,
     179,    176,    175,    173,
     172,    176,    189,    212,
     233,    248,    255,    254,
     244,    231,    219,    206,
     195,    191,    197,    208,
     219,    228,    234,    236,
     233,    222,    208,    194,
     184,    178,    179,    190,
     202,    215,    225,    231,
     232,    223,    211,    199,
     190,    181,    170,    163,
     161,    169,    178,    184,
     183,    175,    160,    143,
     125,    110,     95,     89,
      87,     95,    105,    113,
     115,    113,    106,     96,
      85,     72,     63,     57,
      57,     63,     69,     75,
      80,     82,     79,     73,
      59,     42,     28,     18,
      16,     16,     18,     22,
      29,     38,     41,     38,
      27,     14,      6,      2,
       1,      5,     11,     19,
      33,     48,     60,     67,
      68,     64,     60,     56,
      54,     53,     56,     65,
      77,     90,    102,    109,
     112,    112,    107,     98,
      89,     86,     88,     97,
     109,    121,    134,    148,
     162,    169,    176,    174,
     169,    164,    165,    170,
     177,    184,    195,    213,
     234,    247,    249,    244,
     236,    228,    220,    213,
     208,    206,    209,    219,
     229,    236,    239,    239,
     234,    225,    213,    201,
     194,    194,    199,    205,
     214,    222,    230,    235,
     235,    228,    215,    203,
     194,    188,    185,    182,
     181,    184,    190,    192,
     188,    177,    162,    146,
     131,    118,    109,    102,
      99,    102,    109,    115,
     118,    114,    106,     97,
      87,     78,     70,     67,
      67,     70,     74,     76,
      79,     79,     74,     67,
      56,     43,     32,     25,
      21,     21,     22,     24,
      27,     29,     30,     27,
      21,     13,      4,      1,
       1,      5,     13,     22,
      31,     40,     48,     51,
      55,     55,     53,     52,
      51,     53,     58,     65,
      74,     82,     90,     96,
      97,     96,     94,     89,
      86,     86,     90,     96,
     104,    116,    126,    136,
     146,    154,    155,    163,
     161,    159,    161,    167,
     176,    187,    200,    214,
     227,    238,    242,    240,
     235,    228,    223,    219,
     217,    218,    221,    225,
     232,    237,    238,    237,
     232,    225,    215,    206,
     202,    202,    207,    213,
     219,    225,    230,    233,
     231,    226,    219,    209,
     203,    198,    196,    195,
     195,    197,    197,    196,
     190,    181,    168,    155,
     141,    129,    121,    117,
     114,    115,    116,    116,
     116,    113,    107,     97,
      94,     89,     84,     81,
      81,     80,     79,     77,
      73,     70,     65,     60,
      53,     45,     38,     32,
      29,     27,     25,     24,
      21,     18,     15,     12,
       9,      5,      3,      1,
       2,      6,     10,     16,
      21,     26,     30,     32,
      35,     37,     39,     42,
      44,     49,     54,     60,
      65,     70,     74,     76,
      78,     79,     79,     80,
      81,     83,     88,     94,
     102,    109,    115,    122,
     128,    134,    140,    144,
     152,    157,    163,    170,
     180,    191,    201,    211,
     218,    225,    229,    231,
     231,    231,    230,    231,
     231,    233,    236,    238,
     239,    239,    239,    237,
     234,    229,    225,    222,
     221,    221,    223,    225,
     228,    230,    229,    230,
     229,    226,    222,    218,
     214,    211,    209,    208,
     207,    205,    201,    195,
     189,    182,    174,    164,
     156,    148,    142,    137,
     133,    130,    127,    122,
     118,    113,    108,    102,
      94,    107,    103,    100,
      96,     93,     90,     86,
      80,     75,     71,     66,
      62,     57,     51,     45,
      40,     36,     30,     26,
      20,     15,     11,      8,
       5,      4,      2,      2,
       1,      2,      3,      4,
       7,      9,     12,     15,
      17,     21,     26,     30,
      33,     36,     40,     44,
      48,     51,     53,     55,
      57,     61,     64,     67,
      71,     74,     77,     81,
      85,     92,     95,    101,
     107,    114,    121,    129,
     136,    146,    152,    161,
     169,    177,    185,    192,
     199,    205,    210,    216,
     221,    225,    228,    231,
     233,    235,    236,    237,
     237,    237,    236,    236,
     237,    237,    237,    238,
     238,    238,    239,    239,
     239,    239,    239,    237,
     238,    238,    237,    235,
     232,    230,    227,    224,
     221,    216,    210,    205,
     199,    193,    187,    181,
     175,    169,    163,    157,
     151,    145,    139,    134,
     128,    123,    118,    115,
     112,    107,    118,    145,
     115,    103,    137,    172,
     138,    118,     93,    169,
     152,    137,    134,    149,
     145,     98,    107,    119,
      93,     95,     70,     56,
      47,     52,     80,     36,
      55,     49,     64,     37,
      22,     63,     39,     39,
      34,     30,     45,     47,
      43,     34,     37,     57,
      97,    109,     98,     94,
      90,     81,    104,    103,
      82,    110,     98,     79,
      70,     74,    127,     92,
      86,     80,    113,    126,
     118,     79,    199,    181,
     201,    163,    192,    200,
     176,    191,    189,    208,
     220,    229,    213,    209,
     232,    255,    213,    225,
     218,    196,    214,    181,
     216,    227,    235,    186,
     215,    163,    195,    169,
     173,    156,    200,    181,
     129,    135,    129,    172,
     149,    128,    137,    138,
     118,    132,    143,    127,
      75,    127,    118,    103,
     105,    100,    130,    131,
     109,    140,    156,    124,
     128,    135,    160,    140,
     138,    120,    118,    108,
      77,     93,     91,     95,
     100,     81,     85,     75,
     111,     84,     68,     74,
      65,     65,     50,     50,
      79,     54,     37,     26,
      45,      1,     33,     65,
      33,     32,     16,     20,
      29,     30,     52,     46,
      41,     32,     43,     67,
      94,     94,     68,     72,
      69,    100,    158,    162,
     150,    124,    103,    130,
     138,    163,    176,    174,
     146,    114,    146,    163,
     150,    139,    133,    150,
     171,    170,    139,    141,
     155,    155,    153,    178,
     173,    145,    141,    159,
     163,    158,    163,    160,
     162,    215,    248,    231,
     221,    194,    175,    212,
     210,    215,    239,    237,
     210,    213,    189,    225,
     206,    205,    203,    231,
     207,    184,    164,    160,
     196,    180,    159,    158,
     159,    168,    179,    172,
     159,    124,    148,    136,
     141,    146,    128,    135,
     121,    103,    105,    115,
     105,    107,    117,    112,
      91,     89,     86,    108,
      90,     55,     83,     79,
      62,     60,     57,     73,
      77,     83,     52,     60,
      49,     39,     42,     37,
      39,     52,     41,     30,
      25,     44,      1,     29,
      44,     41,     48,     33,
      26,     37,     46,     64,
      50,     58,     52,     66,
      91,    117,    124,     98,
      82,     81,    113,    194,
     197,    178,    150,    124,
     146,    169,    198,    206,
     199,    187,    154,    181,
     205,    192,    154,    149,
     174,    210,    215,    194,
     122,    117,    131,    150,
     190,    194,    158,    122,
     129,    150,    163,    149,
     153,    145,    206,    249,
     239,    229,    198,    173,
     198,    218,    232,    247,
     234,    212,    205,    200,
     222,    211,    214,    211,
     229,    203,    199,    180,
     171,    189,    177,    151,
     145,    149,    162,    158,
     147,    147,    122,    123,
     111,    119,    139,    127,
     114,     90,     94,     69,
      69,     85,     98,    100,
      76,     46,     48,     69,
      90,     57,     29,     58,
      68,     51,     40,     39,
      53,     59,     53,     39,
      69,     59,     34,     31,
      28,     33,     46,     43,
      38,     47,     43,      1,
      23,     45,     53,     53,
      44,     41,     44,     57,
      73,     58,     80,     63,
      72,    107,    142,    145,
     114,     95,     98,    127,
     223,    227,    210,    181,
     148,    167,    196,    223,
     229,    224,    217,    180,
     194,    240,    222,    169,
     149,    189,    238,    241,
     217,    136,    100,    128,
     144,    197,    214,    170,
     123,    128,    161,    168,
     142,    155,    137,    181,
     235,    239,    225,    189,
     157,    170,    209,    255,
     251,    241,    216,    189,
     195,    223,    219,    211,
     201,    216,    188,    189,
     178,    167,    174,    163,
     143,    146,    150,    149,
     115,    122,    128,    110,
     106,     98,     98,    114,
     105,     80,     70,     96,
      67,     50,     64,     80,
      80,     59,     33,     37,
      65,     57,     37,     25,
      47,     60,     52,     43,
      42,     46,     52,     55,
      61,     79,     70,     51,
      45,     42,     40,     53,
      62,     57,     57,     42,
      23,     41,     53,     62,
      66,     62,     60,     63,
      77,     81,     77,     96,
      87,     84,    114,    154,
     159,    127,    110,    116,
     147,    230,    236,    227,
     211,    173,    175,    208,
     236,    237,    232,    231,
     210,    197,    239,    233,
     188,    158,    191,    239,
     248,    228,    140,     88,
     117,    131,    181,    201,
     162,    115,    120,    159,
     145,    121,    154,    133,
     153,    216,    231,    214,
     173,    140,    150,    208,
     255,    239,    228,    206,
     180,    181,    210,    213,
     199,    194,    199,    172,
     170,    174,    157,    154,
     145,    136,    137,    136,
     126,     98,     97,    107,
      98,     99,     97,     86,
      89,     88,     77,     77,
      88,     73,     55,     58,
      69,     72,     60,     41,
      41,     49,     37,     20,
      17,     33,     46,     47,
      43,     39,     37,     44,
      57,     71,     86,     79,
      63,     53,     45,     41,
      55,     68,     64,     56,
      40,     33,     46,     55,
      63,     73,     72,     68,
      71,     84,     89,     87,
     101,    101,     96,    116,
     159,    171,    145,    126,
     131,    167,    235,    251,
     250,    239,    202,    191,
     220,    255,    254,    253,
     251,    237,    215,    241,
     251,    214,    172,    191,
     236,    253,    229,    149,
      85,    106,    121,    155,
     183,    157,    107,    111,
     146,    131,    108,    135,
     131,    135,    194,    228,
     210,    168,    133,    144,
     204,    255,    242,    228,
     210,    183,    177,    205,
     211,    196,    193,    191,
     167,    160,    167,    156,
     142,    138,    132,    131,
     127,    111,     82,     75,
      82,     84,     90,     89,
      75,     67,     70,     75,
      80,     85,     74,     58,
      49,     54,     59,     58,
      45,     35,     31,     20,
      27,     26,     38,     52,
      61,     62,     57,     51,
      55,     68,     82,     96,
      95,     82,     67,     59,
      58,     67,     76,     76,
      69,     59,     56,     62,
      72,     79,     86,     88,
      84,     86,     94,    100,
     103,    109,    111,    109,
     121,    150,    168,    163,
     146,    146,    171,    216,
     245,    253,    240,    214,
     199,    211,    240,    255,
     254,    245,    234,    222,
     230,    238,    217,    183,
     180,    203,    220,    206,
     158,    106,     99,    113,
     130,    150,    144,    115,
     104,    121,    122,    108,
     113,    119,    126,    162,
     198,    195,    168,    143,
     145,    184,    225,    226,
     212,    196,    179,    173,
     186,    192,    185,    178,
     172,    160,    156,    157,
     148,    133,    125,    126,
     125,    121,    104,     80,
      70,     74,     82,     89,
      88,     80,     71,     69,
      76,     88,     91,     83,
      70,     57,     52,     55,
      60,     58,     51,     40,
      27,     26,     23,     31,
      46,     62,     69,     67,
      60,     59,     67,     82,
      97,     99,     88,     74,
      62,     60,     67,     74,
      76,     74,     67,     62,
      68,     76,     83,     91,
      96,     95,     96,    100,
     107,    111,    115,    116,
     118,    130,    153,    173,
     176,    166,    163,    179,
     213,    241,    254,    245,
     226,    211,    213,    231,
     249,    255,    246,    240,
     234,    237,    240,    227,
     199,    184,    191,    203,
     198,    171,    125,    106,
     110,    123,    138,    139,
     123,    107,    110,    116,
     112,    109,    110,    118,
     146,    180,    191,    176,
     158,    156,    179,    211,
     223,    214,    199,    181,
     171,    174,    183,    181,
     174,    165,    157,    151,
     151,    142,    127,    115,
     114,    115,    111,     97,
      78,     64,     64,     75,
      86,     88,     82,     72,
      66,     69,     80,     87,
      82,     70,     53,     41,
      41,     48,     52,     50,
      39,     26,      1,      1,
       5,     13,     22,     34,
      45,     56,     64,     72,
      77,     79,     77,     72,
      66,     58,     52,     45,
      40,     38,     37,     37,
      40,     46,     55,     64,
      72,     78,     85,     92,
      98,    103,    107,    111,
     116,    123,    131,    141,
     152,    162,    171,    182,
     192,    202,    207,    212,
     214,    215,    215,    215,
     214,    212,    210,    204,
     199,    191,    183,    173,
     162,    148,    135,    129,
     125,    123,    122,    118,
     121,    125,    129,    132,
     131,    129,    127,    125,
     124,    126,    130,    137,
     146,    161,    180,    197,
     210,    221,    231,    240,
     246,    247,    245,    242,
     237,    231,    225,    221,
     217,    211,    204,    197,
     189,    183,    173,    163,
     151,    139,    127,    118,
     110,    104,     99,     97,
      98,    102,    106,    109,
     112,    114,    116,    114,
     109,    101,     91,     78,
      64,     50,     36,     25,
      13,      5,      1,      7,
       1,      6,     20,     38,
      59,     78,     94,    110,
     125,    136,    143,    142,
     134,    122,    107,     91,
      75,     59,     46,     38,
      34,     38,     46,     56,
      67,     76,     84,     94,
     106,    115,    120,    115,
     106,     97,     91,     91,
      98,    106,    113,    119,
     126,    135,    149,    163,
     177,    189,    194,    190,
     181,    165,    146,    123,
      99,     81,     67,     57,
      46,     36,     24,     22,
      34,     65,    105,    147,
     173,    191,    197,    202,
     210,    219,    227,    231,
     225,    208,    186,    166,
     158,    162,    176,    195,
     209,    215,    215,    216,
     219,    225,    230,    235,
     237,    233,    222,    209,
     197,    185,    179,    173,
     169,    165,    159,    150,
     139,    128,    119,    116,
     116,    116,    114,    112,
     114,    118,    124,    129,
     137,    144,    152,    158,
     160,    157,    148,    135,
     116,     98,     79,     63,
      49,     34,     19,      7,
      78,     68,     70,     83,
     101,    119,    134,    148,
     161,    171,    178,    184,
     184,    178,    168,    155,
     139,    119,    100,     82,
      73,     70,     75,     84,
      94,    101,    106,    110,
     118,    129,    140,    149,
     149,    140,    124,    106,
      93,     91,    100,    116,
     130,    141,    147,    153,
     161,    175,    191,    208,
     219,    218,    200,    167,
     123,     81,     51,     39,
      39,     42,     37,     20,
       2,      1,     30,     85,
     150,    201,    228,    231,
     220,    208,    204,    210,
     220,    220,    199,    162,
     117,     81,     62,     65,
      83,    103,    116,    118,
     117,    114,    116,    122,
     134,    149,    159,    157,
     146,    129,    115,    108,
     108,    116,    125,    133,
     136,    134,    128,    125,
     127,    133,    138,    141,
     141,    139,    136,    131,
     128,    129,    134,    142,
     149,    154,    156,    152,
     145,    136,    127,    120,
     113,    108,    101,     91,
      78,    117,    113,    110,
     107,    103,    100,     97,
      94,     92,     89,     88,
      87,     86,     85,     85,
      85,     85,     86,     87,
      88,     89,     90,     92,
      93,     94,     95,     96,
      95,     95,     95,     94,
      92,     90,     87,     85,
      81,     77,     74,     69,
      65,     61,     56,     52,
      49,     46,     43,     41,
      39,     38,     39,     39,
      42,     45,     48,     53,
      59,     66,     74,     83,
      92,    102,    112,    124,
     136,    148,    159,    171,
     182,    193,    203,    213,
     221,    230,    237,    242,
     247,    251,    253,    255,
     255,    254,    253,    249,
     245,    241,    235,    229,
     222,    215,    207,    200,
     192,    185,    178,    170,
     164,    157,    152,    147,
     143,    139,    136,    133,
     131,    130,    129,    129,
     129,    130,    131,    132,
     133,    134,    136,    136,
     137,    138,    138,    138,
     138,    137,    135,    134,
     132,    129,    127,    124,
     121,    117,    124,    119,
     113,    108,    104,     99,
      95,     91,     88,     86,
      84,     83,     83,     83,
      84,     86,     88,     91,
      94,     98,    101,    105,
     109,    112,    115,    117,
     119,    121,    122,    122,
     121,    120,    117,    114,
     110,    105,     99,     93,
      87,     80,     72,     65,
      58,     51,     45,     39,
      34,     30,     26,     24,
      23,     24,     25,     28,
      33,     38,     45,     53,
      63,     73,     85,     97,
     110,    123,    137,    150,
     164,    176,    189,    201,
     212,    222,    231,    239,
     245,    249,    253,    255,
     255,    254,    252,    249,
     244,    238,    231,    224,
     216,    207,    197,    188,
     179,    170,    162,    154,
     147,    140,    134,    130,
     126,    123,    121,    119,
     119,    120,    121,    123,
     125,    128,    131,    135,
     138,    142,    145,    148,
     151,    153,    155,    156,
     156,    155,    154,    152,
     149,    147,    143,    139,
     134,    129,    124,    129,
     129,    129,    128,    128,
     127,    126,    124,    121,
     119,    115,    112,    109,
     105,    102,     99,     96,
      94,     93,     92,     92,
      92,     93,     95,     98,
     101,    104,    108,    112,
     116,    119,    122,    125,
     125,    126,    125,    123,
     120,    115,    109,    101,
      94,     85,     76,     66,
      56,     46,     37,     29,
      22,     16,     13,     10,
      10,     12,     16,     23,
      32,     42,     54,     69,
      85,    101,    118,    136,
     153,    169,    185,    201,
     215,    226,    236,    244,
     250,    254,    255,    255,
     252,    248,    242,    235,
     227,    218,    208,    198,
     188,    179,    170,    162,
     155,    149,    143,    140,
     137,    135,    134,    134,
     135,    136,    138,    140,
     142,    144,    145,    147,
     147,    148,    148,    147,
     147,    145,    144,    142,
     140,    137,    135,    133,
     131,    129,    128,    127,
     126,    126,    126,    126,
     127,    127,    128,    129,
     155,    151,    139,    122,
     110,    106,    110,    120,
     129,    135,    133,    126,
     117,    110,    105,    103,
     101,     99,     97,     95,
      97,    100,    105,    109,
     109,    107,    103,    102,
     107,    117,    128,    138,
     141,    135,    124,    111,
     103,    103,    109,    118,
     122,    119,    106,     87,
      65,     48,     35,     29,
      27,     27,     28,     28,
      30,     32,     34,     34,
      32,     29,     29,     35,
      52,     78,    109,    138,
     160,    171,    173,    172,
     174,    183,    199,    219,
     238,    251,    255,    252,
     246,    239,    233,    228,
     222,    214,    205,    195,
     187,    182,    177,    171,
     162,    150,    138,    130,
     127,    131,    139,    145,
     146,    141,    131,    121,
     117,    122,    135,    150,
     164,    168,    165,    154,
     142,    132,    128,    129,
     133,    137,    141,    143,
     145,    145,    143,    138,
     129,    117,    107,    102,
     106,    118,    134,    149,
     155,    146,    163,    167,
     157,    139,    123,    115,
     118,    128,    139,    146,
     146,    141,    133,    127,
     122,    118,    113,    105,
      96,     89,     88,     93,
     103,    111,    114,    108,
      98,     88,     86,     93,
     108,    123,    131,    129,
     116,     99,     86,     80,
      85,     95,    102,    102,
      92,     74,     55,     38,
      27,     21,     19,     16,
      15,     16,     21,     30,
      41,     50,     52,     49,
      42,     42,     53,     78,
     114,    151,    180,    196,
     198,    193,    188,    190,
     201,    219,    238,    251,
     255,    252,    246,    240,
     234,    229,    220,    208,
     194,    182,    176,    175,
     178,    180,    176,    165,
     149,    135,    130,    134,
     147,    161,    169,    168,
     156,    142,    132,    132,
     141,    156,    169,    175,
     170,    158,    143,    132,
     124,    122,    121,    119,
     117,    117,    120,    125,
     131,    132,    126,    114,
      98,     87,     87,     99,
     122,    146,    143,    185,
     207,    203,    181,    153,
     134,    131,    144,    164,
     181,    189,    187,    178,
     167,    158,    148,    136,
     118,     97,     79,     70,
      75,     89,    104,    109,
      99,     75,     50,     34,
      35,     54,     82,    105,
     112,     98,     74,     48,
      35,     41,     58,     80,
      93,     93,     78,     57,
      37,     23,     16,     14,
      11,      9,     11,     20,
      37,     58,     76,     81,
      70,     49,     31,     29,
      50,     94,    149,    196,
     223,    225,    208,    186,
     171,    174,    192,    218,
     240,    253,    255,    250,
     244,    239,    234,    225,
     210,    192,    177,    172,
     179,    195,    212,    219,
     210,    189,    163,    148,
     150,    170,    197,    220,
     225,    211,    185,    159,
     145,    147,    163,    182,
     192,    189,    171,    146,
     123,    105,     95,     88,
      81,     74,     71,     75,
      87,    103,    115,    115,
      99,     73,     49,     41,
      57,     94,    143,    132,
     163,    178,    172,    152,
     135,    133,    149,    177,
     200,    205,    189,    160,
     132,    119,    126,    144,
     159,    158,    137,    104,
      74,     61,     69,     90,
     109,    113,     98,     72,
      49,     42,     56,     83,
     108,    116,    103,     78,
      55,     48,     60,     83,
     104,    107,     90,     60,
      32,     20,     29,     50,
      70,     73,     58,     31,
       9,      4,     21,     51,
      81,     96,     91,     76,
      65,     70,     96,    136,
     171,    190,    189,    175,
     162,    164,    185,    217,
     245,    255,    243,    217,
     193,    184,    194,    216,
     235,    237,    218,    187,
     160,    149,    159,    183,
     203,    209,    195,    169,
     147,    141,    156,    183,
     207,    214,    201,    174,
     150,    142,    152,    174,
     192,    193,    173,    140,
     110,     95,    100,    118,
     134,    134,    114,     84,
      57,     48,     60,     87,
     112,    121,    113,     93,
      76,     77,     98,    132,
     128,    146,    162,    178,
     193,    205,    216,    224,
     230,    234,    234,    232,
     229,    223,    215,    205,
     195,    184,    172,    160,
     149,    139,    130,    122,
     115,    110,    106,    103,
     102,    103,    104,    105,
     107,    109,    111,    112,
     113,    112,    110,    107,
     102,     96,     89,     80,
      71,     60,     50,     40,
      30,     21,     13,      7,
       3,      2,      2,      5,
      10,     18,     29,     42,
      57,     74,     91,    110,
     130,    149,    167,    185,
     202,    217,    229,    239,
     247,    252,    255,    255,
     253,    248,    242,    234,
     225,    216,    205,    195,
     185,    175,    167,    160,
     154,    149,    147,    145,
     144,    144,    145,    147,
     149,    151,    153,    154,
     154,    152,    150,    146,
     140,    133,    125,    116,
     105,     94,     82,     70,
      59,     49,     40,     32,
      26,     22,     21,     22,
      26,     32,     41,     51,
      64,     79,     95,    111,
     128,    129,    150,    170,
     190,    208,    223,    235,
     245,    252,    255,    255,
     252,    246,    237,    226,
     213,    200,    185,    171,
     156,    143,    131,    121,
     113,    107,    103,    102,
     102,    105,    109,    115,
     121,    128,    136,    142,
     148,    152,    154,    154,
     153,    149,    143,    134,
     124,    112,     99,     84,
      69,     55,     41,     29,
      18,     10,      4,      1,
       1,      5,     12,     22,
      34,     50,     68,     87,
     108,    129,    150,    170,
     190,    208,    223,    235,
     245,    252,    255,    255,
     252,    246,    237,    226,
     213,    200,    185,    171,
     156,    143,    131,    121,
     113,    107,    103,    102,
     102,    105,    109,    115,
     121,    128,    136,    142,
     148,    152,    154,    155,
     153,    149,    143,    134,
     124,    112,     99,     84,
      70,     55,     41,     29,
      18,     10,      4,      1,
       1,      5,     12,     22,
      34,     50,     68,     87,
     108,    129,    123,    149,
     167,    173,    171,    169,
     173,    188,    209,    228,
     236,    230,    213,    193,
     180,    177,    180,    184,
     179,    164,    141,    120,
     109,    110,    121,    133,
     138,    130,    116,    101,
      95,    100,    114,    127,
     133,    128,    114,    101,
      95,    101,    114,    124,
     126,    114,     92,     69,
      54,     49,     54,     59,
      57,     46,     28,     14,
      10,     20,     40,     62,
      78,     82,     80,     78,
      85,    104,    131,    158,
     177,    185,    184,    182,
     188,    204,    226,    246,
     255,    250,    233,    215,
     202,    200,    204,    208,
     205,    189,    167,    146,
     136,    137,    148,    160,
     165,    158,    143,    128,
     122,    127,    140,    153,
     159,    153,    139,    125,
     118,    123,    135,    145,
     145,    133,    110,     86,
      69,     64,     67,     71,
      68,     55,     37,     21,
      15,     24,     43,     64,
      78,     82,     78,     75,
      80,     97,    123,    116,
     146,    168,    179,    179,
     168,    152,    136,    124,
     119,    124,    136,    152,
     167,    177,    179,    172,
     158,    138,    117,     99,
      85,     79,     79,     84,
      94,    105,    114,    120,
     121,    118,    109,     99,
      86,     76,     69,     67,
      71,     80,     92,    103,
     111,    111,    103,     88,
      65,     41,     19,      5,
       1,      8,     24,     45,
      65,     80,     86,     82,
      72,     59,     48,     46,
      56,     78,    110,    147,
     181,    210,    227,    232,
     226,    213,    201,    192,
     190,    197,    210,    227,
     242,    252,    253,    246,
     230,    209,    187,    166,
     151,    143,    142,    147,
     155,    166,    175,    181,
     182,    179,    172,    162,
     152,    142,    137,    137,
     143,    153,    166,    179,
     187,    189,    181,    165,
     142,    116,     93,     76,
      70,     73,     84,    100,
     114,    123,    122,    113,
      95,     74,     57,     47,
      49,     63,     88,    116,
     117,    142,    159,    163,
     154,    135,    110,     87,
      72,     69,     78,     98,
     121,    143,    158,    165,
     160,    149,    134,    121,
     112,    109,    113,    121,
     131,    141,    147,    149,
     148,    143,    136,    127,
     116,    105,     93,     82,
      73,     67,     66,     69,
      75,     82,     86,     84,
      76,     60,     41,     20,
       6,      1,      8,     26,
      50,     78,     99,    111,
     112,    101,     84,     67,
      58,     61,     78,    108,
     144,    177,    204,    218,
     218,    206,    186,    169,
     158,    159,    170,    189,
     213,    234,    247,    249,
     241,    225,    205,    185,
     171,    163,    162,    165,
     170,    175,    178,    178,
     174,    167,    160,    151,
     142,    133,    125,    118,
     113,    112,    116,    125,
     137,    149,    158,    161,
     156,    145,    129,    111,
      97,     92,     98,    113,
     134,    156,    171,    177,
     169,    150,    123,     97,
      77,     69,     75,     93,
     117,    121,    162,    185,
     184,    161,    125,     90,
      68,     61,     69,     85,
     103,    119,    132,    145,
     154,    159,    155,    141,
     121,    100,     90,     94,
     113,    138,    159,    169,
     163,    146,    129,    117,
     116,    121,    124,    118,
     102,     79,     58,     50,
      56,     73,     92,    102,
      97,     79,     52,     27,
       8,      1,      3,     10,
      22,     37,     57,     79,
     100,    114,    112,     96,
      68,     43,     33,     47,
      87,    140,    191,    227,
     237,    224,    197,    171,
     155,    154,    167,    186,
     205,    222,    235,    245,
     251,    251,    242,    222,
     195,    168,    151,    148,
     159,    178,    194,    198,
     188,    168,    148,    136,
     134,    139,    144,    142,
     129,    111,     96,     93,
     105,    129,    155,    172,
     175,    162,    141,    120,
     105,    100,    103,    111,
     122,    134,    149,    167,
     182,    187,    176,    150,
     112,     75,     53,     55,
      81,    121,    126,    177,
     206,    202,    170,    123,
      83,     61,     62,     79,
     100,    119,    129,    135,
     142,    151,    161,    162,
     152,    132,    109,     95,
      97,    116,    142,    160,
     159,    139,    107,     79,
      70,     82,    109,    134,
     143,    128,     97,     62,
      39,     37,     52,     74,
      88,     84,     65,     38,
      15,      2,      2,      9,
      17,     24,     31,     45,
      67,     94,    117,    123,
     108,     76,     41,     22,
      32,     75,    138,    198,
     238,    245,    222,    185,
     152,    138,    145,    167,
     193,    213,    226,    233,
     240,    248,    255,    254,
     240,    216,    189,    170,
     167,    182,    202,    216,
     212,    188,    153,    124,
     113,    124,    151,    177,
     188,    176,    147,    116,
      97,     99,    119,    145,
     164,    166,    150,    127,
     106,     96,     97,    105,
     112,    118,    123,    132,
     150,    170,    186,    185,
     162,    120,     74,     44,
      44,     75,    126,    134,
     184,    215,    219,    199,
     163,    128,    104,     96,
      99,    106,    112,    114,
     116,    120,    128,    136,
     138,    129,    113,     93,
      80,     81,     96,    118,
     137,    144,    136,    119,
     104,    100,    112,    133,
     153,    161,    153,    132,
     109,     95,     94,    106,
     120,    126,    117,     97,
      70,     47,     34,     32,
      36,     42,     47,     50,
      56,     67,     81,     92,
      91,     77,     52,     29,
      20,     37,     81,    141,
     200,    241,    255,    242,
     215,    187,    170,    166,
     174,    184,    192,    195,
     196,    200,    205,    209,
     207,    194,    172,    146,
     128,    122,    132,    148,
     162,    164,    151,    131,
     113,    108,    118,    139,
     160,    171,    165,    147,
     129,    119,    124,    141,
     161,    173,    171,    156,
     134,    115,    106,    107,
     114,    122,    126,    129,
     133,    141,    150,    156,
     149,    127,     94,     61,
      44,     51,     85,    134,
      24,     25,     27,     28,
      29,     31,     32,     33,
      34,     36,     37,     38,
      40,     41,     42,     44,
      45,     47,     48,     49,
      51,     52,     54,     55,
      57,     58,     60,     61,
      63,     64,     66,     67,
      69,     70,     72,     73,
      75,     76,     78,     80,
      81,     83,     84,     86,
      88,     89,     91,     93,
      94,     96,     98,     99,
     101,    103,    104,    106,
     108,    110,    111,    113,
     115,    117,    119,    120,
     122,    124,    126,    128,
     130,    131,    133,    135,
     137,    139,    141,    143,
     145,    147,    149,    151,
     153,    154,    156,    158,
     160,    162,    164,    167,
     169,    171,    173,    175,
     177,    179,    181,    183,
     185,    187,    189,    192,
     194,    196,    198,    200,
     202,    205,    207,    209,
     211,    213,    216,    218,
     220,    222,    225,    227,
     229,    232,    234,    236,
     238,    241,    243,    245,
     248,    250,    253,    255,
      24,      2,      2,      2,
       2,      2,      2,      2,
       2,      2,      2,      2,
       2,      2,      2,      2,
       2,      2,      2,      2,
       2,      2,      2,      2,
       2,      2,      2,      2,
       2,      2,      2,      2,
       2,      2,      2,      2,
       2,      2,      2,      2,
       2,      2,      2,      2,
       2,      2,      2,      2,
       2,      2,      2,      2,
       2,      2,      2,      2,
       2,      2,      2,      2,
       2,      2,      2,      2,
       2,    128,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,      2,      0,      6,
      13,     19,     25,     31,
      38,     44,     50,     55,
      61,     67,     72,     77,
      82,     87,     92,     96,
     100,    104,    108,    111,
     114,    117,    120,    122,
     124,    126,    127,    128,
     129,    129,    130,    129,
     129,    128,    127,    126,
     124,    122,    120,    117,
     114,    111,    108,    104,
     100,     96,     92,     87,
      82,     77,     72,     67,
      61,     55,     50,     44,
      38,     31,     25,     19,
      13,      6,      0,    253,
     246,    240,    234,    228,
     221,    215,    209,    204,
     198,    192,    187,    182,
     177,    172,    167,    163,
     159,    155,    151,    148,
     145,    142,    139,    137,
     135,    133,    132,    131,
     130,    130,    130,    130,
     130,    131,    132,    133,
     135,    137,    139,    142,
     145,    148,    151,    155,
     159,    163,    167,    172,
     177,    182,    187,    192,
     198,    204,    209,    215,
     221,    228,    234,    240,
     246,    253,      0,    128,
     128,    128,    128,    128,
     128,    128,    128,    176,
     176,    176,    176,    176,
     176,    176,    176,    218,
     218,    218,    218,    218,
     218,    218,    218,    245,
     245,    245,    245,    245,
     245,    245,    245,    255,
     255,    255,    255,    255,
     255,    255,    255,    245,
     245,    245,    245,    245,
     245,    245,    245,    218,
     218,    218,    218,    218,
     218,    218,    218,    176,
     176,    176,    176,    176,
     176,    176,    176,    128,
     128,    128,    128,    128,
     128,    128,    128,     79,
      79,     79,     79,     79,
      79,     79,     79,     37,
      37,     37,     37,     37,
      37,     37,     37,     10,
      10,     10,     10,     10,
      10,     10,     10,      0,
       0,      0,      0,      0,
       0,      0,      0,     10,
      10,     10,     10,     10,
      10,     10,     10,     37,
      37,     37,     37,     37,
      37,     37,     37,     79,
      79,     79,     79,     79,
      79,     79,     79,    128,
     127,    134,    140,    146,
     152,    158,    165,    170,
     176,    182,    188,    193,
     198,    203,    208,    213,
     218,    222,    226,    230,
     234,    237,    240,    243,
     245,    248,    250,    251,
     253,    254,    254,    255,
     255,    255,    254,    254,
     253,    251,    250,    248,
     245,    243,    240,    237,
     234,    230,    226,    222,
     218,    213,    208,    203,
     198,    193,    188,    182,
     176,    170,    165,    158,
     152,    146,    140,    134,
     128,    121,    115,    109,
     103,     97,     90,     85,
      79,     73,     67,     62,
      57,     52,     47,     42,
      37,     33,     29,     25,
      21,     18,     15,     12,
      10,      7,      5,      4,
       2,      1,      1,      0,
       0,      0,      1,      1,
       2,      4,      5,      7,
      10,     12,     15,     18,
      21,     25,     29,     33,
      37,     42,     47,     52,
      57,     62,     67,     73,
      79,     85,     90,     97,
     103,    109,    115,    121,
     127,    128,    128,    128,
     128,    128,    129,    131,
     132,    135,    137,    141,
     145,    149,    154,    160,
     166,    173,    179,    186,
     194,    201,    208,    215,
     222,    228,    234,    239,
     244,    248,    251,    253,
     255,    255,    255,    253,
     251,    248,    244,    239,
     234,    228,    222,    215,
     208,    201,    194,    186,
     179,    173,    166,    160,
     154,    149,    145,    141,
     137,    135,    132,    131,
     129,    128,    128,    128,
     128,    128,    127,    127,
     127,    127,    126,    124,
     123,    120,    118,    114,
     110,    106,    101,     95,
      89,     82,     76,     69,
      61,     54,     47,     40,
      33,     27,     21,     16,
      11,      7,      4,      2,
       0,      0,      0,      2,
       4,      7,     11,     16,
      21,     27,     33,     40,
      47,     54,     61,     69,
      76,     82,     89,     95,
     101,    106,    110,    114,
     118,    120,    123,    124,
     126,    127,    127,    127,
     127,    128,    128,    128,
     128,    128,    128,    128,
     128,    128,    129,    129,
     130,    132,    134,    137,
     141,    145,    150,    156,
     163,    170,    178,    187,
     196,    204,    213,    222,
     230,    237,    243,    248,
     252,    254,    255,    254,
     252,    248,    243,    237,
     230,    222,    213,    204,
     196,    187,    178,    170,
     163,    156,    150,    145,
     141,    137,    134,    132,
     130,    129,    129,    128,
     128,    128,    128,    128,
     128,    128,    128,    127,
     127,    127,    127,    127,
     127,    127,    126,    126,
     125,    123,    121,    118,
     114,    110,    105,     99,
      92,     85,     77,     68,
      59,     51,     42,     33,
      25,     18,     12,      7,
       3,      1,      0,      1,
       3,      7,     12,     18,
      25,     33,     42,     51,
      59,     68,     77,     85,
      92,     99,    105,    110,
     114,    118,    121,    123,
     125,    126,    126,    127,
     127,    127,    127,    127,
     127,    127,    128,      0,
       4,      8,     12,     16,
      20,     24,     28,     32,
      36,     40,     45,     49,
      53,     57,     61,     65,
      69,     73,     77,     81,
      85,     89,     93,     97,
     101,    105,    109,    113,
     117,    121,    125,    130,
     134,    138,    142,    146,
     150,    154,    158,    162,
     166,    170,    174,    178,
     182,    186,    190,    194,
     198,    202,    206,    210,
     215,    219,    223,    227,
     231,    235,    239,    243,
     247,    251,    255,    255,
     251,    247,    243,    239,
     235,    231,    227,    223,
     219,    215,    210,    206,
     202,    198,    194,    190,
     186,    182,    178,    174,
     170,    166,    162,    158,
     154,    150,    146,    142,
     138,    134,    130,    125,
     121,    117,    113,    109,
     105,    101,     97,     93,
      89,     85,     81,     77,
      73,     69,     65,     61,
      57,     53,     49,     45,
      40,     36,     32,     28,
      24,     20,     16,     12,
       8,      4,      0,      0,
      24,     26,     29,     32,
      34,     37,     40,     42,
      45,     48,     51,     54,
      57,     60,     63,     66,
      69,     72,     75,     78,
      81,     85,     88,     91,
      95,     98,    102,    105,
     109,    112,    116,    119,
     123,    127,    131,    134,
     138,    142,    146,    150,
     154,    158,    162,    166,
     170,    174,    178,    182,
     187,    191,    195,    200,
     204,    209,    213,    218,
     222,    227,    231,    236,
     241,    245,    250,    255,
      24,     26,     29,     32,
      34,     37,     40,     42,
      45,     48,     51,     54,
      57,     60,     63,     66,
      69,     72,     75,     78,
      81,     85,     88,     91,
      95,     98,    102,    105,
     109,    112,    116,    119,
     123,    127,    131,    134,
     138,    142,    146,    150,
     154,    158,    162,    166,
     170,    174,    178,    182,
     187,    191,    195,    200,
     204,    209,    213,    218,
     222,    227,    231,    236,
     241,    245,    250,    255,
      24,      4,      4,      4,
       4,      4,      4,      4,
       4,      4,      4,      4,
       4,      4,      4,      4,
       4,      4,      4,      4,
       4,      4,      4,      4,
       4,      4,      4,      4,
       4,      4,      4,      4,
       4,    129,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,      4,      4,      4,
       4,      4,      4,      4,
       4,      4,      4,      4,
       4,      4,      4,      4,
       4,      4,      4,      4,
       4,      4,      4,      4,
       4,      4,      4,      4,
       4,      4,      4,      4,
       4,    129,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,    255,    255,    255,
     255,      4,      0,     13,
      26,     38,     50,     62,
      73,     83,     93,    102,
     109,    116,    122,    126,
     129,    131,    132,    131,
     129,    126,    122,    116,
     109,    102,     93,     83,
      73,     62,     50,     38,
      26,     13,      0,    250,
     238,    225,    213,    201,
     190,    180,    170,    161,
     154,    147,    142,    137,
     134,    132,    132,    132,
     134,    137,    142,    147,
     154,    161,    170,    180,
     190,    201,    213,    225,
     238,    250,      0,     13,
      26,     38,     50,     62,
      73,     83,     93,    102,
     109,    116,    122,    126,
     129,    131,    132,    131,
     129,    126,    122,    116,
     109,    102,     93,     83,
      73,     62,     50,     38,
      26,     13,      0,    250,
     238,    225,    213,    201,
     190,    180,    170,    161,
     154,    147,    142,    137,
     134,    132,    132,    132,
     134,    137,    142,    147,
     154,    161,    170,    180,
     190,    201,    213,    225,
     238,    250,      0,    128,
     128,    128,    128,    176,
     176,    176,    176,    218,
     218,    218,    218,    245,
     245,    245,    245,    255,
     255,    255,    255,    245,
     245,    245,    245,    218,
     218,    218,    218,    176,
     176,    176,    176,    128,
     128,    128,    128,     79,
      79,     79,     79,     37,
      37,     37,     37,     10,
      10,     10,     10,      0,
       0,      0,      0,     10,
      10,     10,     10,     37,
      37,     37,     37,     79,
      79,     79,     79,    128,
     128,    128,    128,    176,
     176,    176,    176,    218,
     218,    218,    218,    245,
     245,    245,    245,    255,
     255,    255,    255,    245,
     245,    245,    245,    218,
     218,    218,    218,    176,
     176,    176,    176,    128,
     128,    128,    128,     79,
      79,     79,     79,     37,
      37,     37,     37,     10,
      10,     10,     10,      0,
       0,      0,      0,     10,
      10,     10,     10,     37,
      37,     37,     37,     79,
      79,     79,     79,    128,
     128,    140,    152,    165,
     176,    188,    198,    208,
     218,    226,    234,    240,
     245,    250,    253,    254,
     255,    254,    253,    250,
     245,    240,    234,    226,
     218,    208,    198,    188,
     176,    165,    152,    140,
     128,    115,    103,     90,
      79,     67,     57,     47,
      37,     29,     21,     15,
      10,      5,      2,      1,
       0,      1,      2,      5,
      10,     15,     21,     29,
      37,     47,     57,     67,
      79,     90,    103,    115,
     128,    140,    152,    165,
     176,    188,    198,    208,
     218,    226,    234,    240,
     245,    250,    253,    254,
     255,    254,    253,    250,
     245,    240,    234,    226,
     218,    208,    198,    188,
     176,    165,    152,    140,
     128,    115,    103,     90,
      79,     67,     57,     47,
      37,     29,     21,     15,
      10,      5,      2,      1,
       0,      1,      2,      5,
      10,     15,     21,     29,
      37,     47,     57,     67,
      79,     90,    103,    115,
     128,    128,    128,    128,
     131,    135,    141,    149,
     160,    173,    186,    201,
     215,    228,    239,    248,
     253,    255,    253,    248,
     239,    228,    215,    201,
     186,    173,    160,    149,
     141,    135,    131,    128,
     128,    128,    127,    127,
     124,    120,    114,    106,
      95,     82,     69,     54,
      40,     27,     16,      7,
       2,      0,      2,      7,
      16,     27,     40,     54,
      69,     82,     95,    106,
     114,    120,    124,    127,
     127,    128,    128,    128,
     131,    135,    141,    149,
     160,    173,    186,    201,
     215,    228,    239,    248,
     253,    255,    253,    248,
     239,    228,    215,    201,
     186,    173,    160,    149,
     141,    135,    131,    128,
     128,    128,    127,    127,
     124,    120,    114,    106,
      95,     82,     69,     54,
      40,     27,     16,      7,
       2,      0,      2,      7,
      16,     27,     40,     54,
      69,     82,     95,    106,
     114,    120,    124,    127,
     127,    128,    128,    128,
     128,    128,    129,    130,
     134,    141,    150,    163,
     178,    196,    213,    230,
     243,    252,    255,    252,
     243,    230,    213,    196,
     178,    163,    150,    141,
     134,    130,    129,    128,
     128,    128,    128,    127,
     127,    127,    126,    125,
     121,    114,    105,     92,
      77,     59,     42,     25,
      12,      3,      0,      3,
      12,     25,     42,     59,
      77,     92,    105,    114,
     121,    125,    126,    127,
     127,    127,    128,    128,
     128,    128,    129,    130,
     134,    141,    150,    163,
     178,    196,    213,    230,
     243,    252,    255,    252,
     243,    230,    213,    196,
     178,    163,    150,    141,
     134,    130,    129,    128,
     128,    128,    128,    127,
     127,    127,    126,    125,
     121,    114,    105,     92,
      77,     59,     42,     25,
      12,      3,      0,      3,
      12,     25,     42,     59,
      77,     92,    105,    114,
     121,    125,    126,    127,
     127,    127,    128,      0,
       8,     16,     24,     32,
      40,     49,     57,     65,
      73,     81,     89,     97,
     105,    113,    121,    130,
     138,    146,    154,    162,
     170,    178,    186,    194,
     202,    210,    219,    227,
     235,    243,    251,    255,
     247,    239,    231,    223,
     215,    206,    198,    190,
     182,    174,    166,    158,
     150,    142,    134,    125,
     117,    109,    101,     93,
      85,     77,     69,     61,
      53,     45,     36,     28,
      20,     12,      4,      0,
       8,     16,     24,     32,
      40,     49,     57,     65,
      73,     81,     89,     97,
     105,    113,    121,    130,
     138,    146,    154,    162,
     170,    178,    186,    194,
     202,    210,    219,    227,
     235,    243,    251,    255,
     247,    239,    231,    223,
     215,    206,    198,    190,
     182,    174,    166,    158,
     150,    142,    134,    125,
     117,    109,    101,     93,
      85,     77,     69,     61,
      53,     45,     36,     28,
      20,     12,      4,      0,
     122,    110,     98,     84,
      71,     59,     49,     39,
      28,     18,     12,     10,
       8,      6,      2,      3,
       7,     14,     19,     24,
      28,     35,     42,     49,
      56,     64,     72,     77,
      81,     85,     88,     91,
      93,     94,     93,     90,
      86,     82,     77,     72,
      67,     61,     55,     47,
      41,     34,     28,     25,
      21,     17,     15,     14,
      15,     20,     24,     30,
      37,     45,     55,     64,
      77,     91,    105,    119,
     135,    147,    162,    175,
     188,    201,    211,    220,
     229,    237,    244,    249,
     252,    255,    255,    253,
     249,    245,    242,    238,
     232,    224,    214,    207,
     201,    195,    189,    181,
     175,    170,    166,    162,
     160,    161,    164,    165,
     167,    170,    174,    180,
     188,    196,    202,    208,
     212,    217,    225,    231,
     234,    236,    237,    236,
     236,    233,    230,    225,
     219,    211,    199,    187,
     176,    166,    153,    138,
     122,    133,    117,    100,
      84,     70,     55,     42,
      30,     19,     10,      4,
       2,      1,      3,      5,
      10,     19,     31,     43,
      55,     68,     83,     98,
     112,    127,    142,    156,
     167,    178,    188,    197,
     202,    205,    207,    206,
     204,    198,    191,    183,
     174,    162,    149,    137,
     122,    108,     93,     79,
      66,     54,     44,     34,
      27,     22,     20,     19,
      21,     26,     32,     40,
      50,     63,     78,     93,
     109,    125,    141,    158,
     174,    188,    203,    215,
     227,    236,    243,    249,
     253,    255,    253,    249,
     244,    236,    227,    216,
     203,    190,    175,    159,
     144,    130,    116,    102,
      88,     77,     67,     59,
      52,     48,     47,     48,
      51,     55,     63,     72,
      83,     95,    109,    123,
     136,    149,    163,    178,
     191,    202,    211,    219,
     226,    231,    234,    235,
     233,    230,    223,    214,
     204,    193,    180,    165,
     150,    133,    123,    110,
      95,     79,     66,     53,
      42,     30,     19,     12,
       5,      1,      1,      4,
       5,      8,     16,     31,
      42,     53,     63,     77,
      92,    105,    118,    133,
     149,    160,    170,    180,
     190,    196,    199,    202,
     202,    204,    199,    195,
     189,    181,    171,    160,
     151,    140,    126,    112,
      98,     86,     75,     66,
      59,     52,     46,     43,
      42,     44,     47,     51,
      59,     68,     80,     93,
     107,    122,    137,    149,
     164,    180,    193,    205,
     215,    225,    234,    241,
     248,    252,    255,    253,
     248,    245,    238,    229,
     217,    207,    196,    182,
     167,    153,    139,    125,
     110,     96,     85,     74,
      64,     57,     52,     52,
      52,     52,     54,     59,
      67,     77,     88,     99,
     110,    121,    131,    144,
     159,    171,    181,    188,
     193,    200,    206,    210,
     210,    210,    208,    203,
     195,    187,    178,    167,
     152,    137,    123,     58,
      62,     54,     37,     30,
      29,     28,     18,     10,
       9,      5,      1,      7,
      23,     25,     18,     29,
      59,     80,     83,     85,
     104,    123,    127,    126,
     145,    179,    190,    196,
     204,    219,    227,    224,
     221,    228,    242,    241,
     241,    239,    232,    222,
     217,    221,    216,    204,
     186,    176,    173,    164,
     159,    159,    157,    143,
     135,    135,    141,    143,
     140,    145,    150,    159,
     165,    181,    198,    208,
     203,    208,    226,    235,
     238,    230,    229,    236,
     239,    245,    251,    252,
     239,    227,    222,    219,
     205,    189,    181,    177,
     168,    150,    136,    126,
     109,     81,     65,     56,
      47,     36,     26,     20,
      26,     24,     13,      9,
       8,     17,     31,     44,
      46,     46,     48,     50,
      63,     78,     92,     96,
      89,     85,     88,    103,
     105,    103,    107,    115,
     116,    108,    106,    105,
      99,     78,     61,     58,
      89,    104,    103,     92,
      95,    106,    118,    114,
     111,    116,    116,    114,
     117,    131,    135,    123,
     133,    165,    186,    182,
     167,    164,    170,    161,
     153,    173,    219,    232,
     230,    224,    223,    220,
     213,    208,    216,    233,
     229,    226,    220,    215,
     207,    204,    203,    198,
     185,    174,    178,    185,
     179,    171,    167,    160,
     145,    140,    147,    159,
     160,    151,    144,    139,
     139,    138,    153,    167,
     168,    155,    155,    177,
     192,    186,    161,    145,
     139,    139,    151,    167,
     175,    162,    139,    127,
     122,    110,    100,    103,
     114,    115,    104,     96,
      92,     78,     54,     43,
      39,     38,     40,     41,
      43,     55,     47,     24,
       8,      1,     16,     42,
      63,     61,     53,     44,
      34,     39,     46,     60,
      69,     64,     59,     64,
      79,     85,     81,     85,
      92,     99,     94,     98,
     111,    114,     98,     86,
      89,     76,     76,     69,
      64,     76,     92,    111,
     110,    104,    103,     95,
      92,     86,     86,     94,
      99,    128,    163,    181,
     169,    131,     90,     59,
      38,     42,     82,    142,
     174,    176,    151,    121,
      97,     97,    105,    120,
     138,    132,    133,    129,
     140,    148,    144,    127,
     106,     88,     93,    119,
     146,    151,    133,    104,
      77,     67,     82,    114,
     150,    165,    156,    141,
     123,    125,    130,    147,
     166,    175,    182,    198,
     231,    255,    254,    217,
     179,    148,    143,    173,
     210,    243,    252,    231,
     208,    184,    165,    161,
     170,    188,    196,    200,
     202,    201,    186,    163,
     143,    129,    125,    145,
     170,    185,    190,    157,
     103,     61,     47,     79,
     131,    171,    172,    148,
     104,     66,     50,     44,
      58,     68,     66,     66,
      67,     82,     94,     91,
      91,     76,     66,     57,
      58,     75,     87,     90,
      86,     76,    124,    128,
     127,    120,    116,    111,
     104,     91,     75,     59,
      48,     45,     45,     53,
      67,     81,    104,    118,
     120,    108,     81,     47,
      20,      1,      1,     16,
      37,     52,     55,     46,
      36,     28,     34,     41,
      46,     53,     46,     47,
      43,     48,     45,     39,
      23,      9,      4,     15,
      39,     61,     76,     77,
      71,     64,     68,     80,
      95,    110,    112,    101,
      90,     80,     85,     98,
     117,    137,    156,    174,
     195,    218,    232,    234,
     213,    192,    166,    157,
     167,    187,    211,    230,
     234,    235,    229,    225,
     227,    233,    244,    251,
     253,    250,    244,    230,
     217,    204,    197,    199,
     216,    237,    251,    255,
     240,    212,    190,    177,
     186,    203,    214,    207,
     189,    163,    143,    138,
     141,    150,    157,    162,
     167,    170,    174,    173,
     166,    152,    130,    112,
      95,     86,     89,     97,
     107,    120,    124,    176,
     193,    200,    196,    181,
     158,    131,    101,     76,
      57,     50,     56,     69,
      90,    113,    133,    150,
     158,    155,    141,    121,
      98,     78,     60,     49,
      43,     43,     44,     46,
      47,     49,     56,     65,
      75,     81,     87,     83,
      79,     69,     57,     43,
      28,     13,      4,      1,
       7,     21,     36,     53,
      68,     80,     92,    104,
     110,    111,    106,     94,
      82,     71,     67,     72,
      85,    105,    127,    147,
     167,    183,    197,    202,
     199,    184,    167,    146,
     133,    128,    132,    144,
     159,    173,    187,    199,
     207,    217,    224,    229,
     228,    222,    209,    194,
     175,    162,    153,    152,
     160,    175,    193,    208,
     221,    223,    217,    207,
     194,    182,    172,    159,
     145,    135,    128,    129,
     137,    147,    160,    171,
     178,    184,    185,    182,
     178,    168,    155,    139,
     122,    108,    101,    104,
     114,    132,    154,    176,
     205,    232,    241,    231,
     208,    176,    142,    105,
      72,     51,     48,     60,
      82,    111,    141,    163,
     179,    186,    182,    171,
     153,    134,    120,    101,
      82,     66,     60,     54,
      51,     50,     50,     58,
      67,     79,     92,    102,
     101,     95,     79,     62,
      41,     26,     17,     11,
       1,      1,     16,     35,
      54,     69,     87,    109,
     127,    131,    132,    127,
     112,     94,     79,     74,
      77,     88,    107,    130,
     151,    170,    184,    198,
     202,    192,    172,    150,
     124,    107,    101,    103,
     112,    127,    140,    159,
     177,    188,    200,    211,
     218,    215,    203,    183,
     162,    139,    122,    111,
     113,    125,    144,    167,
     186,    203,    207,    201,
     188,    170,    154,    140,
     124,    108,    101,    104,
     116,    134,    151,    164,
     179,    188,    195,    198,
     193,    186,    173,    156,
     137,    119,    104,     98,
     106,    120,    145,    175,
     205,    186,    220,    228,
     208,    186,    165,    151,
     133,    100,     81,     90,
     106,    128,    162,    188,
     194,    204,    215,    210,
     201,    191,    179,    186,
     170,    128,    107,    109,
     104,     95,     86,     70,
      58,     53,     61,     80,
      86,     78,     79,     59,
      35,     12,     27,     86,
      92,     29,      1,     33,
      75,     97,     85,     93,
     144,    173,    162,    173,
     185,    174,    156,    136,
     140,    145,    140,    152,
     168,    171,    170,    170,
     190,    204,    183,    150,
     123,     90,     70,     78,
      93,    102,    107,    107,
     117,    131,    129,    129,
     150,    172,    166,    151,
     139,    116,     98,     88,
      71,     74,     84,     92,
     117,    135,    150,    151,
     136,    119,    103,     99,
     120,    122,     98,     86,
      90,    105,    140,    157,
     153,    172,    176,    175,
     186,    178,    166,    158,
     140,    130,    122,    111,
     105,    110,    123,    138,
     155,    186,    151,    172,
     170,    174,    166,    164,
     178,    179,    164,    150,
     168,    178,    186,    226,
     242,    218,    217,    243,
     225,    213,    233,    217,
     230,    225,    168,    155,
     162,    160,    145,    131,
     108,     63,     47,     49,
      59,     66,     52,     61,
      54,     22,      1,     48,
     168,    192,     86,     36,
      79,    124,    152,    132,
     116,    174,    208,    166,
     170,    202,    192,    176,
     177,    187,    181,    163,
     168,    164,    150,    139,
     117,    128,    144,    117,
      91,     76,     55,     53,
      69,     91,     96,     82,
      73,     69,     75,     70,
      59,     87,    111,    102,
      91,    103,     91,     68,
      78,     66,     56,     64,
      64,     76,     76,    106,
      95,     59,     83,     62,
      57,    121,    138,    118,
     108,    118,    123,    150,
     175,    146,    147,    147,
     138,    150,    143,    140,
     142,    124,    132,    143,
     135,    130,    129,    131,
     129,    126,    151,    197,
     211,    174,    218,    219,
     189,    217,    217,    208,
     192,    213,    210,    192,
     226,    229,    193,    181,
     226,    192,    153,    221,
     179,    154,    188,    144,
     119,    117,    123,     91,
      80,     78,     39,     39,
      31,     18,     36,     29,
      24,     32,     31,     20,
      38,     96,    109,     59,
      60,     89,     73,    103,
     122,     84,    116,    155,
     114,    125,    165,    151,
     136,    178,    180,    139,
     168,    191,    156,    162,
     194,    164,    159,    189,
     172,    151,    156,    160,
     150,    141,    158,    158,
     131,    148,    134,    126,
     147,    120,    128,    140,
     130,    108,    115,    125,
      73,     92,    110,     62,
      58,     97,     76,     23,
     119,     83,      1,    119,
      67,     21,    106,     95,
      79,     70,    111,     98,
      72,    140,    113,     94,
     121,    122,    121,    112,
     126,    137,    116,    118,
     156,    146,    132,    169,
     167,    169,    169,    197,
     213,    230,    195,    239,
     245,    206,    239,    245,
     228,    220,    239,    230,
     213,    229,    232,    211,
     187,    232,    205,    147,
     228,    186,    138,    190,
     158,    129,    120,    126,
      98,     74,     80,     56,
      41,     35,     19,     28,
      24,     13,     23,     30,
      25,     25,     48,     56,
      30,     40,     59,     38,
      56,     74,     45,     66,
      92,     59,     76,    107,
      91,     82,    132,    130,
      89,    142,    162,    121,
     138,    184,    156,    142,
     186,    183,    157,    167,
     195,    165,    149,    195,
     172,    139,    191,    159,
     140,    182,    147,    148,
     162,    157,    130,    130,
     161,    101,    100,    147,
      95,     65,    134,    109,
      20,    139,    106,      1,
     136,     86,     31,    103,
      87,     78,     57,    107,
     100,     44,    121,    113,
      74,    112,    116,    106,
     108,    116,    136,    125,
     122,    168,    156,    143,
     189,    184,    185,    195,
     213,    167,    178,    151,
     205,    190,    126,    206,
     209,    175,    183,    206,
     168,    169,    202,    198,
     155,    130,    197,    186,
      86,    216,    161,    111,
     192,    140,    153,    111,
     113,    128,     83,     62,
     100,     51,     37,      2,
      60,     71,      3,     90,
      50,     38,     93,     71,
     133,     98,     49,    101,
     103,     92,     95,     92,
     108,    109,     41,    119,
     125,     54,    101,    161,
      95,     84,    175,    121,
     113,    139,    159,    148,
     105,    194,    191,    108,
     143,    217,    108,    110,
     209,    126,    124,    192,
     130,    104,    201,    155,
     131,    198,    189,    123,
     114,    215,    146,     90,
     206,    150,     49,    195,
     201,      1,    163,    193,
       2,    177,    117,     76,
     131,     90,    163,     70,
      98,    162,     71,    109,
     172,    113,     87,    114,
     120,    106,     78,    125,
     106,    118,    134,    107,
     136,    147,    146,    116,
     171,    167,    125,    125,
     163,    156,    129,     76,
     157,    199,    134,    150,
     194,    125,    102,    161,
     174,     90,     77,    144,
     167,     35,    163,    129,
      65,    150,    105,    177,
      87,     93,    170,     69,
      49,    146,     63,     66,
       1,     96,    126,      5,
     153,     63,     64,    149,
      80,    186,    147,     93,
     141,    150,    133,    139,
     135,    153,    154,     26,
     165,    163,     42,    142,
     183,     80,    117,    208,
      94,    136,    152,    115,
     174,     75,    185,    214,
      71,    128,    227,     71,
      76,    204,     99,    122,
     180,     98,     75,    199,
     159,     98,    213,    192,
      90,     80,    229,    172,
      75,    220,    177,     48,
     208,    226,     17,    131,
     213,     54,    164,    111,
     124,    137,     74,    199,
      92,     87,    194,    123,
      94,    208,    176,     60,
     116,    153,    124,     60,
     113,    128,    160,    108,
      98,    160,    115,    138,
      71,    189,    125,    115,
     116,    114,    109,    102,
      96,     90,     83,     74,
      67,     62,     60,     60,
      60,     57,     50,     43,
      36,     30,     24,     21,
      19,     19,     21,     22,
      23,     21,     17,     10,
       4,      1,      1,      2,
       5,      9,     14,     19,
      21,     20,     17,     15,
      16,     20,     28,     34,
      40,     47,     53,     56,
      57,     58,     58,     60,
      63,     73,     84,     94,
     101,    106,    108,    111,
     112,    114,    122,    131,
     141,    151,    159,    169,
     175,    177,    176,    177,
     178,    183,    190,    198,
     207,    214,    220,    224,
     225,    224,    224,    225,
     228,    232,    237,    243,
     248,    250,    250,    247,
     244,    242,    240,    239,
     242,    247,    249,    250,
     246,    240,    233,    227,
     223,    220,    218,    219,
     221,    223,    221,    214,
     204,    194,    186,    179,
     173,    171,    172,    172,
     168,    162,    155,    146,
     135,    124,    118,    115,
     155,    157,    157,    159,
     162,    169,    176,    183,
     185,    186,    186,    187,
     188,    192,    197,    199,
     198,    194,    190,    186,
     182,    180,    180,    181,
     179,    173,    164,    153,
     141,    134,    128,    125,
     119,    110,     99,     89,
      78,     67,     59,     53,
      49,     47,     42,     35,
      25,     16,     14,     16,
      21,     24,     26,     26,
      23,     22,     28,     38,
      51,     66,     80,     89,
      97,    103,    111,    126,
     147,    167,    183,    194,
     203,    209,    214,    218,
     226,    234,    244,    252,
     255,    254,    246,    238,
     233,    233,    233,    232,
     227,    216,    202,    187,
     175,    165,    158,    152,
     145,    134,    122,    106,
      92,     82,     77,     74,
      72,     69,     62,     54,
      46,     41,     40,     41,
      47,     55,     61,     64,
      62,     59,     60,     66,
      75,     86,     99,    107,
     111,    112,    114,    118,
     125,    134,    143,    151,
     155,    134,    126,    120,
     116,    114,    113,    112,
     110,    104,     98,     93,
      90,     90,     92,     92,
      90,     87,     82,     79,
      77,     76,     76,     78,
      79,     78,     74,     67,
      62,     58,     57,     56,
      55,     53,     47,     40,
      34,     29,     25,     23,
      22,     20,     18,     13,
       9,      4,      2,      2,
       5,      9,     13,     15,
      17,     17,     19,     26,
      35,     47,     59,     70,
      78,     85,     93,    103,
     119,    136,    154,    168,
     177,    186,    193,    200,
     207,    218,    228,    238,
     245,    247,    249,    248,
     247,    249,    252,    255,
     255,    253,    248,    241,
     233,    229,    225,    224,
     222,    218,    214,    208,
     199,    191,    187,    186,
     186,    186,    184,    179,
     173,    169,    167,    167,
     169,    171,    173,    174,
     172,    168,    163,    161,
     162,    165,    167,    167,
     165,    158,    153,    149,
     147,    147,    146,    145,
     141,    134,    133,    125,
     119,    117,    116,    115,
     115,    117,    121,    125,
     126,    126,    123,    118,
     109,     96,     80,     66,
      58,     54,     55,     58,
      60,     61,     64,     67,
      69,     69,     68,     69,
      71,     73,     73,     70,
      66,     60,     55,     49,
      43,     37,     36,     39,
      45,     50,     52,     52,
      51,     50,     48,     45,
      41,     37,     31,     26,
      21,     14,      7,      2,
       2,      7,     18,     36,
      66,    106,    151,    191,
     221,    241,    252,    255,
     251,    241,    230,    220,
     215,    213,    214,    214,
     215,    217,    220,    222,
     222,    221,    219,    218,
     217,    216,    213,    208,
     200,    191,    185,    181,
     178,    175,    175,    179,
     185,    188,    190,    191,
     192,    193,    193,    192,
     192,    191,    191,    191,
     187,    178,    166,    154,
     144,    138,    134,    131,
     132,    135,    139,    142,
     143,    144,    144,    143,
     142,    140,    133,    133,
     130,    126,    128,    133,
     138,    137,    137,    142,
     150,    156,    158,    159,
     159,    153,    140,    124,
     110,    104,    104,    108,
     113,    115,    115,    117,
     121,    124,    125,    127,
     132,    138,    142,    143,
     145,    146,    142,    132,
     118,    105,     95,     91,
      95,    102,    106,    105,
     102,     96,     88,     79,
      72,     69,     65,     56,
      47,     41,     35,     26,
      16,      8,      7,     11,
      23,     51,     96,    147,
     191,    223,    244,    255,
     254,    243,    228,    216,
     207,    201,    195,    189,
     187,    187,    187,    184,
     178,    170,    165,    161,
     158,    158,    159,    159,
     154,    142,    126,    111,
     104,    102,    104,    107,
     112,    119,    125,    129,
     132,    135,    138,    140,
     140,    138,    138,    141,
     145,    145,    139,    126,
     112,    102,     97,     98,
     100,    105,    112,    116,
     119,    121,    125,    129,
     131,    132,    133,    133,
     125,    148,    134,    127,
     159,    184,    152,     96,
      85,    117,    135,    127,
     138,    180,    202,    163,
      89,     35,     32,     74,
     130,    159,    135,     93,
      92,    128,    142,    104,
      67,     78,    107,    106,
      94,    121,    182,    213,
     189,    143,    104,     72,
      54,     77,    135,    176,
     173,    149,    128,     95,
      51,     34,     65,     96,
      74,     30,     37,     98,
     142,    130,     99,     81,
      55,     12,      1,     70,
     176,    231,    217,    196,
     207,    210,    163,    104,
     105,    169,    225,    219,
     180,    167,    190,    209,
     200,    172,    140,    107,
      82,     86,    124,    172,
     198,    190,    153,    101,
      55,     49,     89,    136,
     154,    149,    157,    179,
     180,    151,    124,    132,
     156,    156,    127,    105,
     123,    175,    221,    219,
     162,     92,     63,     79,
     102,    115,    137,    173,
     179,    133,     82,     86,
     122,    127,     96,     90,
     125,    107,    156,    149,
     126,    148,    184,    164,
     101,     71,     95,    119,
     116,    125,    163,    184,
     146,     70,     16,     15,
      61,    119,    143,    112,
      66,     69,    111,    121,
      75,     38,     59,     94,
      84,     62,     97,    175,
     212,    174,    115,     79,
      54,     34,     51,    113,
     166,    167,    139,    111,
      75,     26,      5,     40,
      84,     64,      8,      6,
      81,    148,    142,     95,
      65,     50,     24,     15,
      71,    168,    226,    218,
     200,    213,    218,    167,
     100,    104,    186,    255,
     244,    192,    179,    216,
     244,    228,    190,    154,
     119,     89,     95,    145,
     201,    221,    207,    178,
     132,     74,     50,     91,
     161,    189,    172,    167,
     197,    212,    181,    141,
     147,    181,    185,    148,
     117,    135,    190,    238,
     238,    182,    110,     76,
      93,    119,    130,    147,
     182,    190,    138,     75,
      77,    126,    134,     85,
      62,    107,    103,    148,
     144,    119,    127,    155,
     146,     97,     65,     77,
      94,     94,     96,    120,
     133,    105,     50,     10,
      11,     43,     83,     96,
      70,     37,     40,     71,
      75,     39,     12,     31,
      59,     48,     28,     55,
     119,    148,    116,     69,
      45,     31,     17,     27,
      73,    118,    121,    100,
      79,     54,     18,      1,
      30,     68,     58,     15,
      11,     71,    130,    132,
      93,     68,     63,     56,
      53,     88,    153,    197,
     198,    188,    200,    205,
     170,    122,    128,    194,
     251,    243,    202,    195,
     229,    254,    241,    210,
     184,    159,    137,    144,
     185,    229,    241,    229,
     213,    184,    138,    112,
     142,    201,    227,    208,
     199,    224,    241,    217,
     183,    185,    212,    216,
     185,    159,    170,    209,
     242,    241,    202,    150,
     123,    132,    150,    156,
     163,    185,    190,    149,
      97,     97,    135,    140,
      95,     68,    103,    110,
     136,    132,    112,    112,
     127,    122,     91,     68,
      70,     78,     76,     75,
      85,     89,     71,     38,
      15,     15,     32,     52,
      57,     40,     20,     21,
      37,     38,     16,      1,
      12,     28,     22,      8,
      25,     63,     79,     60,
      33,     21,     16,      9,
      15,     42,     70,     74,
      64,     53,     40,     21,
      13,     33,     58,     55,
      33,     31,     69,    109,
     113,     92,     79,     81,
      82,     84,    104,    142,
     171,    175,    173,    183,
     188,    171,    146,    152,
     194,    231,    228,    206,
     204,    228,    245,    239,
     222,    208,    196,    185,
     191,    217,    243,    250,
     244,    237,    223,    196,
     179,    196,    231,    247,
     235,    228,    242,    254,
     240,    218,    217,    232,
     233,    214,    197,    201,
     221,    237,    236,    214,
     182,    163,    166,    175,
     174,    174,    183,    184,
     158,    125,    122,    143,
     143,    112,     92,    110,
     120,    125,    119,    108,
     103,    104,     99,     87,
      75,     72,     70,     64,
      60,     60,     58,     49,
      35,     26,     24,     28,
      30,     29,     22,     14,
      13,     16,     14,      6,
       1,      4,      9,      6,
       2,      7,     19,     24,
      19,     12,     10,     10,
      10,     13,     23,     34,
      38,     37,     36,     34,
      31,     32,     42,     53,
      57,     53,     57,     73,
      89,     95,     92,     92,
      96,    101,    107,    117,
     134,    148,    155,    159,
     166,    171,    170,    166,
     172,    189,    205,    208,
     204,    207,    218,    228,
     229,    226,    224,    223,
     221,    225,    235,    245,
     249,    248,    248,    245,
     238,    233,    238,    249,
     254,    250,    247,    251,
     254,    249,    241,    239,
     241,    239,    232,    224,
     223,    226,    228,    226,
     216,    204,    194,    191,
     190,    186,    182,    180,
     176,    164,    150,    146,
     149,    145,    130,    118,
     120,    120,    117,    113,
     109,    105,    103,    100,
      97,     93,     91,     89,
      86,     83,     80,     79,
      77,     74,     71,     69,
      68,     66,     63,     61,
      58,     56,     54,     52,
      49,     47,     45,     43,
      40,     37,     34,     31,
      28,     24,     20,     16,
      12,      8,      6,      5,
       5,      3,      2,      2,
       1,      2,      4,      9,
      14,     19,     25,     31,
      40,     49,     58,     66,
      75,     85,     95,    106,
     119,    132,    144,    156,
     166,    176,    186,    194,
     202,    211,    219,    227,
     233,    238,    242,    246,
     250,    253,    253,    253,
     253,    251,    251,    251,
     250,    249,    246,    243,
     240,    236,    233,    230,
     227,    223,    220,    215,
     212,    209,    206,    203,
     200,    198,    196,    193,
     190,    189,    188,    188,
     186,    183,    181,    179,
     177,    175,    171,    167,
     164,    160,    154,    149,
     145,    141,    136,    130,
     124,    120,    117,    118,
     120,    121,    121,    120,
     119,    117,    114,    112,
     110,    109,    108,    107,
     106,    105,    105,    105,
     106,    107,    106,    105,
     103,    100,     98,     96,
      93,     91,     88,     85,
      82,     79,     75,     71,
      67,     61,     54,     46,
      37,     30,     24,     20,
      17,     14,     11,      9,
       6,      3,      3,      3,
       5,      8,     11,     16,
      22,     28,     34,     41,
      47,     55,     64,     76,
      93,    114,    135,    154,
     171,    184,    194,    202,
     208,    215,    221,    227,
     232,    237,    241,    245,
     249,    253,    255,    255,
     253,    249,    244,    240,
     237,    233,    229,    224,
     217,    210,    202,    196,
     192,    190,    188,    186,
     182,    178,    173,    168,
     164,    160,    157,    154,
     150,    147,    145,    145,
     146,    148,    151,    153,
     154,    155,    155,    154,
     152,    149,    146,    141,
     136,    131,    127,    122,
     119,    117,    117,    117,
     128,    137,    142,    143,
     142,    138,    133,    128,
     125,    125,    129,    133,
     138,    142,    145,    147,
     151,    154,    158,    159,
     158,    154,    149,    143,
     138,    135,    131,    127,
     124,    121,    121,    120,
     118,    112,    102,     89,
      75,     62,     51,     42,
      35,     30,     25,     19,
      14,      9,      7,      5,
       5,      6,      9,     13,
      19,     27,     35,     40,
      41,     38,     34,     32,
      39,     61,     97,    139,
     176,    203,    217,    219,
     217,    213,    213,    216,
     222,    228,    232,    235,
     239,    245,    251,    255,
     255,    252,    246,    238,
     229,    221,    216,    211,
     204,    193,    179,    164,
     152,    144,    142,    143,
     145,    144,    140,    134,
     126,    120,    116,    112,
     109,    103,     98,     95,
      96,     98,    102,    108,
     113,    119,    124,    129,
     132,    133,    132,    130,
     126,    120,    115,    110,
     107,    105,    108,    117,
     115,    130,    142,    146,
     144,    141,    138,    135,
     133,    134,    137,    142,
     145,    147,    151,    154,
     158,    162,    166,    170,
     172,    168,    162,    153,
     145,    140,    137,    136,
     135,    136,    137,    136,
     134,    128,    118,    105,
      91,     79,     70,     65,
      62,     59,     54,     46,
      37,     29,     25,     22,
      21,     20,     19,     17,
      15,     17,     25,     34,
      40,     39,     29,     14,
       1,      3,     29,     78,
     140,    197,    236,    254,
     251,    237,    223,    215,
     215,    222,    229,    232,
     231,    230,    231,    234,
     237,    237,    235,    229,
     219,    208,    199,    195,
     194,    192,    187,    178,
     166,    152,    140,    132,
     129,    128,    127,    126,
     123,    119,    114,    110,
     106,    100,     93,     86,
      83,     83,     87,     92,
      99,    106,    111,    115,
     118,    121,    124,    128,
     129,    128,    123,    115,
     107,    101,     98,    103,
     115,    116,    131,    142,
     143,    137,    132,    131,
     133,    137,    143,    148,
     149,    144,    140,    139,
     139,    142,    146,    150,
     154,    154,    150,    143,
     137,    132,    129,    129,
     132,    137,    142,    143,
     140,    132,    120,    107,
      95,     87,     85,     86,
      89,     93,     98,    100,
      96,     89,     84,     82,
      82,     80,     75,     69,
      62,     53,     47,     49,
      56,     60,     55,     40,
      20,      3,      1,     23,
      74,    138,    199,    239,
     255,    250,    233,    214,
     199,    195,    200,    205,
     205,    198,    189,    182,
     178,    176,    175,    175,
     172,    166,    158,    154,
     157,    163,    169,    172,
     173,    172,    165,    153,
     140,    129,    122,    118,
     117,    119,    122,    123,
     120,    117,    113,    108,
     102,     98,     98,    102,
     109,    116,    122,    123,
     122,    117,    115,    116,
     122,    129,    132,    130,
     123,    115,    107,    102,
     104,    116,    109,    131,
     148,    151,    153,    163,
     175,    177,    172,    169,
     163,    148,    130,    122,
     127,    129,    122,    116,
     121,    127,    126,    123,
     130,    146,    159,    164,
     167,    171,    172,    167,
     158,    150,    141,    127,
     109,     94,     86,     82,
      78,     72,     74,     88,
     104,    111,    112,    120,
     138,    153,    148,    127,
     108,     96,     83,     67,
      61,     65,     66,     52,
      32,     20,     10,      1,
      10,     61,    142,    213,
     242,    242,    238,    236,
     225,    204,    190,    193,
     200,    195,    177,    159,
     142,    122,    106,    104,
     121,    139,    143,    139,
     144,    163,    180,    182,
     172,    170,    175,    171,
     154,    134,    122,    114,
     101,     87,     84,     89,
      92,     89,     91,    105,
     122,    128,    123,    119,
     124,    132,    138,    139,
     140,    138,    129,    113,
      99,     94,     93,     88,
      83,     88,    102,    111,
     107,    100,    109,    109,
     131,    148,    154,    163,
     182,    197,    196,    187,
     180,    171,    149,    122,
     113,    119,    121,    111,
     104,    110,    115,    112,
     110,    126,    153,    172,
     178,    182,    190,    191,
     180,    164,    155,    145,
     129,    107,     91,     84,
      79,     71,     62,     64,
      83,    107,    119,    121,
     132,    161,    186,    183,
     153,    124,    110,     96,
      76,     64,     67,     66,
      47,     24,     16,     15,
       3,      1,     49,    144,
     226,    252,    240,    233,
     240,    234,    210,    190,
     192,    196,    186,    165,
     147,    126,     97,     71,
      71,     98,    126,    134,
     132,    142,    169,    190,
     191,    178,    173,    176,
     174,    154,    131,    117,
     109,     94,     74,     65,
      71,     78,     77,     79,
      99,    127,    142,    138,
     131,    135,    145,    148,
     146,    146,    146,    135,
     112,     90,     80,     76,
      67,     60,     69,     94,
     111,    109,    101,    109,
      82,     80,     81,     82,
      86,     89,     93,     95,
      97,     99,    100,    101,
     101,    100,     99,     96,
      94,     94,     95,     98,
     104,    113,    120,    125,
     126,    124,    120,    117,
     117,    117,    116,    119,
     123,    128,    133,    139,
     143,    146,    146,    143,
     137,    128,    117,    105,
      93,     83,     77,     70,
      66,     60,     55,     50,
      46,     41,     37,     33,
      29,     26,     26,     31,
      41,     56,     79,    111,
     146,    178,    206,    227,
     239,    247,    250,    250,
     247,    242,    235,    227,
     220,    212,    206,    196,
     186,    172,    159,    143,
     125,    107,     90,     77,
      67,     61,     57,     58,
      59,     62,     67,     76,
      85,     99,    112,    126,
     140,    154,    168,    181,
     196,    213,    229,    243,
     251,    255,    253,    246,
     235,    224,    211,    197,
     182,    169,    154,    142,
     131,    122,    114,    107,
     102,     96,     91,     86,
      82,     76,     82,     91,
      94,     93,     89,     82,
      75,     75,     78,     83,
      89,     95,     97,    102,
     108,    115,    131,    143,
     152,    159,    162,    162,
     159,    154,    146,    140,
     131,    122,    113,    100,
      91,     90,     90,     89,
      89,     84,     81,     78,
      77,     81,     88,     95,
     100,    102,    101,    100,
      99,     99,     98,     95,
      86,     79,     70,     62,
      58,     59,     61,     67,
      73,     75,     79,     90,
     105,    133,    157,    176,
     192,    199,    199,    201,
     203,    206,    208,    208,
     200,    191,    177,    166,
     159,    156,    153,    157,
     155,    147,    139,    131,
     123,    119,    117,    110,
     104,     90,     72,     63,
      60,     62,     79,     95,
     109,    125,    138,    149,
     165,    185,    206,    229,
     245,    252,    255,    252,
     246,    243,    242,    238,
     228,    212,    190,    167,
     147,    128,    118,    106,
      96,     91,     82,     74,
      74,     76,     91,     93,
     102,    101,     89,     76,
      58,     39,     36,     36,
      37,     46,     48,     45,
      48,     55,     67,    100,
     128,    151,    176,    189,
     195,    203,    207,    209,
     217,    211,    200,    189,
     168,    148,    143,    137,
     133,    132,    119,    105,
      95,     85,     84,     95,
     103,    110,    113,    104,
      92,     83,     77,     77,
      80,     70,     60,     48,
      31,     25,     32,     40,
      57,     76,     82,     91,
     105,    120,    150,    181,
     204,    222,    228,    218,
     213,    210,    207,    212,
     216,    206,    194,    177,
     154,    144,    143,    140,
     149,    155,    146,    138,
     129,    116,    114,    113,
     104,     97,     81,     53,
      34,     23,     15,     29,
      44,     52,     64,     75,
      79,    100,    130,    158,
     198,    227,    240,    248,
     249,    245,    249,    255,
     253,    250,    238,    212,
     189,    169,    150,    147,
     140,    128,    124,    109,
      92,     90,     91,    120,
     116,    123,    120,    104,
      91,     69,     45,     39,
      35,     29,     32,     27,
      16,     14,     17,     26,
      58,     89,    115,    146,
     164,    175,    191,    204,
     214,    230,    234,    230,
     228,    213,    197,    197,
     192,    189,    189,    176,
     160,    147,    133,    125,
     131,    134,    134,    131,
     116,     96,     82,     69,
      65,     66,     55,     44,
      30,      9,      1,      7,
      16,     35,     59,     72,
      87,    106,    122,    153,
     185,    208,    229,    237,
     227,    220,    218,    213,
     217,    224,    217,    207,
     192,    167,    155,    152,
     144,    149,    154,    141,
     131,    120,    104,    100,
     101,     93,     89,     79,
      52,     33,     21,      8,
      13,     24,     26,     34,
      40,     41,     61,     89,
     117,    157,    187,    200,
     211,    214,    209,    216,
     226,    228,    231,    227,
     208,    194,    181,    169,
     171,    169,    161,    159,
     145,    126,    123,    120,
     150,    143,    144,    142,
     130,    120,    104,     87,
      84,     85,     84,     88,
      83,     67,     59,     57,
      64,     93,    123,    149,
     176,    192,    198,    207,
     210,    209,    214,    207,
     196,    185,    168,    151,
     150,    149,    149,    152,
     143,    134,    127,    118,
     109,    112,    112,    111,
     108,     97,     82,     72,
      68,     72,     81,     76,
      65,     49,     23,      6,
       1,      1,     13,     31,
      42,     57,     78,     98,
     133,    171,    201,    225,
     237,    229,    225,    226,
     228,    237,    248,    247,
     241,    231,    211,    200,
     194,    183,    183,    183,
     167,    150,    134,    115,
     110,    112,    110,    113,
     110,     92,     78,     64,
      47,     43,     43,     34,
      30,     24,     17,     28,
      50,     75,    108,    130,
     137,    141,    139,    133,
     137,    145,    148,    155,
     158,    151,    149,    151,
     154,    171,    181,    184,
     188,    177,    160,    156,
     150,    166,    153,    148,
     144,    138,    137,    134,
     131,    139,    151,    161,
     169,    164,    148,    135,
     129,    134,    157,    181,
     202,    221,    230,    231,
     229,    222,    211,    199,
     180,    157,    134,    110,
      91,     87,     86,     88,
      91,     91,     92,     95,
      95,     88,     86,     80,
      73,     67,     58,     49,
      47,     55,     74,     93,
      99,     95,     79,     54,
      32,     17,      8,     12,
      22,     31,     46,     67,
      91,    127,    166,    201,
     226,    237,    233,    230,
     232,    237,    247,    255,
     254,    252,    248,    237,
     230,    224,    214,    209,
     203,    184,    161,    139,
     119,    111,    114,    120,
     132,    141,    141,    136,
     125,    110,     97,     85,
      65,     48,     29,     13,
      13,     27,     44,     64,
      76,     74,     67,     62,
      57,     58,     61,     63,
      68,     73,     77,     86,
     101,    121,    151,    176,
     191,    199,    195,    185,
     177,    166,    169,    152,
     139,    134,    135,    141,
     149,    160,    178,    198,
     217,    228,    226,    214,
     200,    192,    196,    210,
     227,    242,    252,    255,
     253,    244,    230,    213,
     189,    162,    132,     99,
      70,     49,     40,     37,
      39,     42,     49,     60,
      71,     79,     75,     67,
      55,     44,     32,     25,
      21,     26,     45,     73,
     100,    115,    117,    105,
      84,     61,     40,     28,
      25,     28,     36,     50,
      68,     94,    128,    165,
     201,    226,    236,    235,
     233,    235,    241,    246,
     248,    247,    245,    243,
     242,    240,    235,    229,
     222,    211,    191,    163,
     137,    118,    109,    112,
     124,    142,    161,    174,
     178,    172,    159,    142,
     122,     97,     71,     45,
      24,     16,     21,     31,
      39,     41,     33,     21,
      14,     11,     11,      9,
       9,     11,     15,     23,
      36,     58,     90,    129,
     163,    188,    200,    200,
     195,    184,    169,    174,
     154,    140,    133,    133,
     138,    146,    159,    179,
     206,    231,    246,    246,
     232,    215,    202,    201,
     211,    226,    240,    249,
     252,    249,    240,    225,
     206,    182,    154,    125,
      95,     71,     54,     45,
      39,     37,     37,     43,
      55,     69,     78,     75,
      65,     47,     30,     14,
       4,      1,      6,     28,
      61,     92,    113,    120,
     112,     91,     68,     45,
      30,     23,     22,     27,
      40,     61,     93,    134,
     176,    215,    238,    247,
     243,    241,    243,    248,
     254,    254,    252,    249,
     245,    244,    243,    240,
     237,    233,    227,    210,
     185,    159,    137,    125,
     125,    133,    150,    169,
     181,    184,    175,    160,
     139,    116,     87,     60,
      33,     13,      7,     15,
      28,     38,     38,     30,
      17,     10,      7,      8,
       6,      4,      2,      1,
       7,     19,     42,     76,
     117,    153,    181,    198,
     204,    201,    191,    174,
     185,    163,    143,    133,
     128,    131,    141,    158,
     182,    211,    239,    255,
     254,    237,    214,    197,
     192,    199,    211,    224,
     232,    233,    227,    214,
     196,    176,    154,    134,
     119,    109,    104,    101,
      96,     87,     75,     66,
      62,     67,     77,     85,
      82,     74,     57,     40,
      25,     14,      9,     13,
      32,     61,     91,    115,
     128,    126,    113,     93,
      72,     52,     39,     30,
      28,     38,     60,     96,
     140,    180,    210,    222,
     220,    210,    204,    206,
     215,    225,    229,    227,
     221,    212,    205,    197,
     193,    195,    202,    210,
     211,    200,    180,    157,
     136,    125,    127,    139,
     155,    168,    171,    162,
     145,    122,     95,     67,
      43,     26,     20,     27,
      46,     63,     74,     71,
      57,     39,     25,     22,
      23,     26,     28,     29,
      29,     32,     37,     50,
      70,     98,    126,    155,
     181,    199,    207,    201,
     185,    197,    175,    152,
     136,    126,    125,    133,
     152,    180,    211,    240,
     255,    252,    233,    207,
     186,    176,    179,    188,
     198,    205,    205,    198,
     184,    164,    142,    123,
     113,    116,    129,    147,
     162,    164,    154,    135,
     114,     97,     91,     90,
      92,     90,     85,     76,
      67,     59,     54,     49,
      47,     55,     71,     93,
     117,    134,    142,    137,
     125,    108,     86,     65,
      45,     32,     36,     58,
      97,    143,    179,    198,
     193,    176,    153,    141,
     142,    153,    169,    181,
     185,    181,    167,    151,
     133,    125,    129,    146,
     171,    194,    203,    195,
     172,    142,    120,    109,
     113,    125,    137,    141,
     136,    121,     99,     74,
      51,     34,     29,     39,
      60,     90,    114,    126,
     120,    100,     74,     54,
      45,     46,     54,     64,
      72,     78,     81,     81,
      81,     81,     86,     98,
     122,    154,    184,    205,
     209,    197,    195,    172,
     147,    130,    119,    114,
     115,    130,    156,    185,
     209,    225,    230,    220,
     204,    195,    196,    202,
     208,    217,    228,    229,
     223,    211,    195,    173,
     148,    129,    123,    125,
     130,    136,    136,    127,
     110,     95,     84,     79,
      76,     79,     87,     93,
      93,     98,    105,    107,
     101,     95,     95,     99,
     103,    111,    120,    120,
     112,    101,     85,     61,
      36,     14,      1,      4,
      25,     68,    119,    160,
     186,    190,    183,    167,
     157,    159,    172,    186,
     196,    203,    200,    181,
     154,    129,    116,    112,
     120,    139,    158,    166,
     156,    140,    122,    107,
      99,    106,    122,    140,
     150,    155,    152,    137,
     113,     92,     76,     67,
      66,     77,     96,    106,
     106,     97,     80,     53,
      29,     22,     26,     36,
      48,     63,     81,     93,
      97,    102,    109,    118,
     127,    145,    172,    195,
     208,    207,    195,    159,
     138,    116,    105,    100,
      96,     92,    101,    123,
     144,    159,    175,    191,
     194,    194,    200,    216,
     226,    224,    225,    231,
     230,    219,    206,    194,
     175,    147,    123,    110,
     104,     97,     93,     93,
      91,     84,     83,     88,
      91,     91,     98,    116,
     130,    137,    148,    162,
     166,    154,    141,    133,
     122,    105,     96,     94,
      83,     69,     59,     48,
      30,     12,      2,      1,
       6,     23,     61,    108,
     144,    169,    183,    191,
     185,    181,    186,    200,
     207,    207,    207,    202,
     179,    146,    116,    104,
      97,     97,    105,    121,
     126,    121,    118,    120,
     121,    121,    132,    152,
     170,    181,    191,    194,
     181,    156,    135,    122,
     108,     93,     89,     91,
      84,     71,     61,     52,
      34,     16,     16,     32,
      49,     62,     83,    107,
     123,    126,    133,    146,
     157,    161,    167,    179,
     186,    182,    173,    159,
     119,    101,     83,     79,
      83,     83,     76,     81,
      97,    111,    119,    134,
     159,    175,    187,    205,
     231,    243,    234,    224,
     223,    217,    200,    188,
     181,    167,    140,    113,
      98,     87,     73,     63,
      63,     66,     70,     82,
     103,    117,    122,    131,
     151,    168,    173,    184,
     196,    197,    179,    162,
     149,    129,    101,     82,
      71,     54,     35,     25,
      19,      9,      1,      4,
      14,     23,     36,     69,
     110,    139,    159,    178,
     195,    198,    199,    206,
     219,    217,    203,    196,
     189,    167,    135,    109,
     100,     92,     85,     87,
      97,    100,    100,    108,
     125,    139,    148,    165,
     187,    202,    209,    217,
     221,    207,    181,    161,
     150,    133,    108,     93,
      84,     66,     44,     34,
      32,     25,     15,     25,
      53,     77,     90,    109,
     133,    150,    151,    157,
     172,    183,    182,    177,
     177,    168,    152,    134,
     119,    104,    118,    119,
     108,     93,     67,     42,
      54,     91,    125,    153,
     162,    157,    148,    141,
     153,    199,    232,    234,
     222,    198,    163,    138,
     134,    149,    171,    167,
     140,    113,     79,     53,
      58,     79,    108,    133,
     137,    130,    121,    105,
     114,    159,    197,    214,
     224,    204,    170,    141,
     123,    132,    147,    132,
     109,     84,     35,      1,
       5,     16,     34,     51,
      44,     30,     14,      4,
      38,     97,    144,    180,
     196,    187,    168,    155,
     161,    197,    222,    222,
     214,    185,    135,     95,
      79,     93,    119,    133,
     131,    122,     98,     80,
      94,    130,    165,    191,
     202,    194,    182,    172,
     177,    201,    213,    201,
     181,    149,    104,     66,
      57,     65,     77,     78,
      66,     50,     25,      3,
      21,     70,    117,    149,
     162,    158,    147,    131,
     133,    169,    204,    214,
     207,    181,    141,    112,
      99,    104,    114,    162,
     172,    154,    125,     71,
      39,     62,    101,    148,
     185,    171,    136,    105,
      78,     90,    147,    188,
     202,    192,    142,     93,
      74,     78,    120,    174,
     186,    170,    138,     84,
      60,     81,    111,    160,
     196,    176,    144,    114,
      78,     94,    154,    196,
     224,    227,    176,    125,
      99,     88,    124,    173,
     170,    151,    115,     45,
      13,     31,     55,    102,
     133,    109,     75,     32,
       1,     35,     91,    140,
     188,    188,    153,    125,
     102,    110,    168,    210,
     220,    217,    168,    105,
      79,     75,    107,    163,
     184,    171,    146,    100,
      70,     93,    134,    177,
     213,    202,    162,    131,
     104,    108,    155,    188,
     193,    184,    134,     74,
      46,     42,     69,    115,
     127,    111,     87,     44,
      18,     49,    103,    157,
     199,    195,    161,    132,
     101,    107,    159,    200,
     216,    211,    163,    107,
      87,     85,    114,    130,
     202,    213,    191,    154,
      80,     46,     78,    114,
     165,    209,    174,    117,
      75,     31,     46,    113,
     152,    174,    166,     97,
      42,     30,     40,    102,
     178,    196,    188,    155,
      87,     69,    104,    135,
     196,    236,    195,    145,
     103,     53,     76,    146,
     188,    223,    221,    149,
      94,     75,     69,    126,
     195,    199,    184,    141,
      58,     33,     61,     93,
     158,    192,    152,    107,
      45,      1,     39,     88,
     137,    191,    174,    121,
      93,     65,     77,    154,
     203,    219,    221,    159,
      90,     78,     82,    124,
     199,    218,    196,    165,
     100,     64,     97,    133,
     176,    216,    186,    125,
      86,     49,     56,    122,
     165,    179,    178,    116,
      52,     38,     41,     80,
     149,    164,    145,    115,
      57,     31,     74,    126,
     183,    232,    211,    157,
     119,     77,     85,    148,
     188,    208,    206,    143,
      84,     77,     83,    130,
      90,     82,     58,     65,
      78,     72,     93,    140,
     157,    158,    177,    178,
     153,    154,    175,    174,
     164,    170,    161,    128,
     119,    139,    148,    151,
     170,    167,    134,    116,
     114,    101,    106,    133,
     135,    120,    120,     99,
      56,     56,     85,     91,
     112,    169,    183,    147,
     143,    159,    131,    123,
     185,    211,    168,    160,
     155,     68,      7,     42,
      47,     22,     73,    105,
      42,     13,     41,     28,
      37,    123,    176,    188,
     230,    236,    183,    174,
     188,    162,    167,    210,
     192,    140,    124,     89,
      25,     20,     59,     70,
      87,    130,    137,    113,
     116,    128,    130,    166,
     221,    242,    251,    255,
     220,    173,    157,    140,
     118,    127,    129,     93,
      66,     54,     22,      6,
      37,     67,     83,    120,
     156,    158,    159,    178,
     189,    196,    212,    217,
     201,    185,    160,    120,
      98,     93,     80,     76,
      90,    108,     89,     71,
      90,     90,     70,     87,
     111,    106,    120,    150,
     148,    142,    165,    173,
     164,    173,    178,    158,
     150,    163,    166,    168,
     179,    169,    138,    114,
      97,     78,     79,     97,
     102,     95,     91,     76,
      52,     45,     60,     83,
     112,    149,    174,    179,
     167,    151,    146,    151,
     158,    177,    193,    171,
     128,     91,     43,      1,
       9,     35,     44,     63,
      78,     49,     19,     33,
      56,     86,    147,    200,
     214,    221,    214,    181,
     159,    167,    169,    170,
     183,    173,    130,     92,
      65,     39,     36,     73,
     109,    126,    145,    155,
     142,    131,    143,    163,
     189,    224,    247,    247,
     232,    200,    162,    142,
     132,    125,    131,    126,
     103,     90,     83,     58,
      51,     67,     63,     59,
      93,    121,    126,    152,
     177,    170,    176,    197,
     190,    182,    202,    194,
     161,    156,    148,    110,
      97,    108,    140,    128,
     105,     96,     82,     53,
      34,     41,     62,     88,
     109,    124,    131,    128,
     127,    141,    159,    169,
     184,    199,    203,    201,
     198,    186,    163,    138,
     113,     95,     80,     65,
      58,     49,     27,     15,
      15,     11,     21,     56,
      88,    112,    146,    173,
     180,    175,    158,    143,
     147,    156,    170,    203,
     210,    163,    115,     80,
      37,     21,     49,     78,
      95,    108,     80,     20,
       1,     23,     47,     90,
     152,    194,    213,    217,
     188,    152,    151,    168,
     182,    209,    223,    182,
     118,     80,     53,     36,
      57,     98,    124,    145,
     154,    130,     98,     99,
     118,    143,    183,    224,
     248,    251,    221,    176,
     155,    158,    156,    163,
     183,    180,    147,    116,
      93,     69,     51,     43,
      47,     75,    114,    132,
     131,    132,    142,    157,
     173,    190,    213,    238,
     237,    210,    187,    165,
     142,    135,    140,    176,
     161,    143,    131,    112,
      98,    101,    110,    113,
     111,    105,     92,     80,
      77,     88,    106,    124,
     138,    147,    148,    147,
     151,    163,    172,    175,
     171,    159,    135,    109,
      93,     79,     64,     57,
      57,     45,     28,     23,
      24,     28,     47,     85,
     120,    140,    149,    149,
     138,    131,    142,    170,
     197,    211,    205,    176,
     129,     82,     57,     56,
      67,     79,     86,     75,
      41,     13,     11,     23,
      52,    106,    162,    192,
     200,    198,    182,    167,
     172,    193,    213,    225,
     217,    184,    136,     92,
      61,     53,     68,     94,
     115,    126,    122,    104,
      91,     97,    120,    158,
     208,    245,    255,    248,
     229,    199,    175,    174,
     180,    179,    175,    164,
     135,    103,     88,     88,
      95,    107,    121,    127,
     122,    115,    115,    121,
     133,    144,    153,    163,
     163,    151,    146,    154,
     156,    157,    170,    176,
     172,    147,    130,    115,
      90,     82,     87,     87,
      94,    109,    106,     97,
     105,    110,    103,    109,
     120,    109,     92,     94,
     101,    105,    124,    147,
     150,    144,    142,    138,
     135,    143,    150,    147,
     139,    122,     84,     51,
      36,     25,     21,     42,
      68,     71,     68,     74,
      65,     56,     82,    122,
     150,    183,    214,    204,
     170,    147,    127,    110,
     115,    128,    124,    107,
      79,     35,      1,      1,
      13,     36,     87,    131,
     144,    151,    162,    152,
     152,    189,    222,    231,
     246,    247,    200,    152,
     134,    110,     89,    104,
     122,    113,    105,    101,
      83,     75,     98,    130,
     162,    202,    230,    235,
     235,    231,    215,    205,
     209,    208,    195,    184,
     167,    131,    103,     96,
      90,     90,    111,    120,
     106,    107,    115,    105,
     112,    150,    164,    161,
     183,    193,    166,    156,
     171,    164,    157,    172,
     172,    155,    149,    143,
     145,    139,    126,    123,
     128,    132,    131,    130,
     127,    111,     96,     98,
      97,     88,     92,     95,
      79,     79,    100,    106,
     115,    145,    156,    153,
     175,    187,    167,    163,
     171,    152,    135,    127,
     101,     74,     76,     65,
      36,     39,     59,     52,
      51,     76,     92,     98,
     128,    162,    170,    186,
     207,    195,    182,    192,
     179,    147,    145,    136,
     100,     88,     74,     37,
      45,     66,     35,     35,
      88,     83,     60,    117,
     155,    139,    178,    224,
     202,    210,    255,    229,
     184,    191,    173,    125,
     118,    110,     68,     63,
      83,     58,     35,     72,
     108,    105,    124,    163,
     175,    187,    219,    213,
     190,    212,    227,    191,
     178,    192,    158,    120,
     125,    115,     88,    106,
     128,    117,    116,    125,
     112,    114,    134,    128,
     118,    139,    147,    125,
     118,    127,    121,    118,
     139,    155,    129,    127,
     122,    126,    124,    109,
      99,    100,     92,     84,
      87,     83,     68,     68,
      74,     66,     70,     91,
      93,     85,    100,    108,
      94,    102,    119,    101,
      87,    108,    104,     68,
      58,     55,     29,     25,
      37,     16,      1,     25,
      34,     26,     42,     52,
      41,     63,     98,     90,
      84,    113,    123,    110,
     119,    126,    115,    122,
     128,     99,     82,     93,
      81,     62,     75,     80,
      69,     89,    110,     96,
     102,    135,    135,    133,
     168,    182,    172,    194,
     207,    179,    182,    211,
     192,    165,    177,    171,
     143,    146,    149,    126,
     134,    163,    153,    142,
     175,    198,    191,    199,
     218,    220,    231,    248,
     235,    219,    226,    215,
     186,    186,    193,    174,
     169,    180,    167,    153,
     170,    177,    170,    184,
     195,    186,    189,    200,
     184,    164,    169,    171,
     154,    142,    141,    135,
     126,    124,    129,    150,
     169,    148,    129,    127,
     116,    104,    101,     91,
      89,     94,     85,     83,
     107,    112,     89,     97,
     109,     76,     54,     70,
      63,     35,     42,     55,
      34,     20,     30,     26,
      12,     13,     18,      9,
       3,      2,      2,      6,
      14,     19,     30,     44,
      34,     20,     31,     40,
      23,     28,     58,     58,
      45,     70,     87,     73,
      85,    108,     93,     84,
     106,    103,     87,    101,
     112,    106,    120,    136,
     132,    140,    144,    126,
     127,    149,    144,    141,
     174,    188,    173,    188,
     211,    196,    184,    202,
     209,    203,    213,    224,
     217,    204,    204,    202,
     192,    196,    214,    224,
     216,    214,    223,    227,
     223,    226,    240,    244,
     234,    230,    239,    240,
     232,    241,    255,    251,
     247,    255,    251,    229,
     213,    210,    197,    175,
     165,    161,    139,    112,
     103,     97,     74,     71,
     103,    120,    123,    150,
     131,    115,    109,    122,
     114,    100,    108,    114,
     105,    106,     99,     71,
      56,     60,     48,     40,
      63,     74,     55,     60,
      75,     60,     56,     89,
     102,     97,    115,    127,
     102,     85,     79,     59,
      40,     41,     38,     25,
      22,     20,      8,      4,
      11,     19,     33,     58,
      78,     87,     99,    109,
     109,    113,    131,    138,
     137,    146,    142,    112,
      95,     90,     68,     57,
      74,     78,     73,     92,
     102,     93,    104,    124,
     131,    150,    185,    199,
     200,    212,    212,    193,
     190,    199,    189,    176,
     179,    167,    137,    130,
     135,    122,    123,    152,
     163,    160,    184,    205,
     200,    207,    229,    235,
     238,    254,    255,    240,
     227,    211,    189,    179,
     178,    169,    170,    177,
     167,    156,    166,    170,
     163,    177,    202,    199,
     192,    206,    201,    173,
     177,    186,    160,    143,
     158,    144,    113,    118,
     131,    142,    142,    135,
     122,    110,     97,     88,
      85,     84,     81,     73,
      63,     53,     47,     44,
      42,     40,     34,     21,
      11,      5,      2,      7,
      19,     28,     33,     34,
      30,     24,     22,     21,
      23,     29,     31,     28,
      22,     15,      5,      1,
       2,      7,     15,     22,
      28,     32,     34,     36,
      43,     55,     67,     81,
      94,    101,    103,    103,
      99,     96,    100,    104,
     109,    113,    113,    111,
     108,    106,    108,    116,
     126,    138,    152,    162,
     167,    172,    178,    183,
     191,    202,    212,    217,
     216,    212,    207,    200,
     195,    197,    200,    202,
     205,    206,    202,    201,
     204,    211,    220,    230,
     242,    250,    253,    252,
     252,    249,    246,    248,
     253,    250,    244,    239,
     228,    214,    206,    205,
     203,    203,    205,    205,
     197,    189,    185,    183,
     184,    189,    194,    194,
     185,    174,    163,    151,
     143,    142,    142,    149,
     151,    146,    136,    119,
     103,     91,     86,     87,
      84,     73,     64,     63,
      59,     57,     63,     63,
      47,     29,     17,      5,
       1,     11,     27,     37,
      41,     39,     34,     27,
      21,     27,     42,     53,
      59,     63,     58,     41,
      30,     28,     29,     34,
      45,     54,     55,     48,
      41,     40,     43,     52,
      72,     95,    107,    112,
     115,    108,     99,    104,
     117,    127,    138,    145,
     143,    131,    117,    109,
     111,    119,    132,    148,
     158,    155,    151,    151,
     151,    156,    176,    199,
     212,    216,    216,    207,
     193,    186,    190,    198,
     203,    210,    211,    199,
     184,    178,    178,    180,
     192,    210,    223,    225,
     222,    219,    214,    212,
     219,    235,    245,    245,
     242,    233,    212,    194,
     193,    194,    194,    198,
     201,    190,    171,    160,
     154,    150,    156,    172,
     182,    180,    173,    164,
     150,    139,    142,    146,
     144,    142,    141,    141,
     138,    133,    128,    122,
     110,     92,     76,     61,
      53,     52,     53,     51,
      45,     33,     21,     11,
       4,      1,      3,      6,
       6,      8,      9,      7,
       7,      5,      4,     11,
      20,     30,     43,     52,
      52,     51,     49,     45,
      44,     50,     54,     59,
      60,     55,     50,     48,
      44,     48,     60,     72,
      83,     96,     99,     99,
     106,    112,    118,    132,
     147,    153,    157,    156,
     148,    142,    140,    142,
     149,    155,    155,    157,
     158,    152,    149,    157,
     168,    180,    194,    204,
     209,    211,    208,    207,
     209,    213,    221,    228,
     226,    220,    213,    203,
     195,    192,    195,    201,
     207,    210,    211,    208,
     203,    205,    214,    222,
     230,    242,    245,    239,
     232,    225,    216,    213,
     213,    211,    205,    197,
     185,    171,    157,    150,
     150,    151,    153,    156,
     157,    152,    147,    146,
     121,    121,    118,    117,
     121,    122,    121,    122,
     121,    117,    109,     98,
      89,     82,     72,     63,
      57,     46,     36,     33,
      31,     27,     24,     23,
      21,     19,     20,     22,
      21,     17,     11,      6,
       2,      1,      6,     16,
      26,     37,     45,     51,
      53,     56,     60,     67,
      75,     80,     83,     84,
      79,     71,     69,     69,
      67,     74,     84,     85,
      86,     93,     96,     99,
     110,    125,    136,    149,
     160,    164,    166,    165,
     164,    168,    171,    173,
     175,    176,    169,    161,
     158,    157,    157,    162,
     172,    180,    183,    186,
     193,    195,    199,    210,
     219,    223,    227,    230,
     227,    220,    215,    211,
     209,    207,    205,    204,
     199,    192,    188,    189,
     191,    193,    203,    211,
     213,    216,    220,    218,
     215,    218,    219,    214,
     210,    205,    195,    184,
     173,    163,    154,    146,
     140,    137,    131,    124,
     121,    156,    155,    145,
     135,    129,    123,    117,
     117,    119,    114,    101,
      87,     73,     58,     49,
      46,     44,     40,     40,
      39,     33,     24,     16,
       9,      5,      8,     17,
      24,     25,     23,     16,
       7,      1,      1,      7,
      15,     27,     38,     47,
      54,     56,     52,     48,
      48,     51,     55,     66,
      76,     78,     76,     77,
      73,     69,     78,     92,
     101,    112,    128,    132,
     128,    130,    135,    138,
     144,    156,    164,    165,
     164,    160,    155,    151,
     151,    156,    165,    169,
     167,    170,    171,    165,
     166,    179,    186,    189,
     200,    209,    204,    200,
     203,    203,    200,    205,
     211,    211,    209,    204,
     197,    193,    190,    190,
     197,    202,    202,    206,
     210,    204,    200,    207,
     211,    210,    217,    225,
     220,    212,    211,    205,
     193,    191,    194,    190,
     183,    181,    176,    165,
     156,    154,    153,    152,
     152,    156,    163,    152,
     138,    131,    133,    132,
     127,    121,    113,     96,
      76,     64,     59,     55,
      55,     57,     51,     37,
      26,     19,     14,     14,
      17,     17,     14,     11,
       8,      5,      3,      3,
       7,      8,      4,      1,
       4,      9,     18,     31,
      45,     53,     48,     38,
      35,     38,     42,     54,
      75,     87,     85,     84,
      85,     80,     79,     93,
     110,    121,    130,    137,
     131,    120,    120,    125,
     132,    144,    156,    161,
     157,    149,    143,    144,
     145,    151,    167,    180,
     180,    176,    176,    170,
     163,    171,    189,    198,
     202,    207,    205,    192,
     186,    190,    194,    198,
     207,    213,    210,    203,
     196,    191,    190,    195,
     205,    217,    220,    213,
     209,    207,    199,    200,
     213,    220,    217,    221,
     220,    205,    194,    195,
     195,    193,    200,    206,
     200,    189,    181,    175,
     170,    171,    179,    184,
     179,    170,    163,    155,
     155,    147,    135,    126,
     120,    110,    102,    104,
     103,     93,     85,     78,
      67,     56,     52,     49,
      45,     41,     39,     37,
      30,     17,      8,      5,
       1,      2,     13,     18,
      14,     10,      8,      4,
       2,      9,     19,     24,
      29,     36,     43,     44,
      46,     53,     59,     58,
      60,     71,     79,     82,
      88,     96,     95,     93,
      98,    103,    104,    109,
     119,    125,    126,    128,
     131,    135,    135,    139,
     148,    154,    155,    160,
     165,    162,    158,    164,
     169,    169,    172,    179,
     180,    175,    174,    179,
     180,    180,    187,    194,
     193,    193,    195,    195,
     192,    196,    202,    206,
     207,    207,    208,    207,
     199,    198,    205,    207,
     204,    209,    212,    205,
     200,    202,    199,    195,
     200,    206,    205,    203,
     201,    199,    195,    190,
     192,    195,    192,    190,
     191,    188,    177,    170,
     168,    162,    156,    155,
     170,    194,    214,    229,
     240,    245,    243,    231,
     213,    189,    162,    132,
     107,     89,     79,     76,
      77,     80,     83,     84,
      84,     81,     73,     62,
      53,     50,     49,     51,
      54,     58,     63,     65,
      65,     65,     65,     65,
      65,     68,     72,     80,
      87,     97,    106,    114,
     120,    125,    132,    138,
     142,    145,    149,    151,
     149,    143,    133,    120,
     105,     92,     82,     78,
      82,     96,    119,    149,
     180,    209,    233,    248,
     255,    252,    243,    229,
     213,    195,    177,    162,
     150,    139,    128,    117,
     108,    102,     98,     98,
     100,    104,    110,    115,
     116,    114,    110,    105,
      99,     93,     90,     90,
      95,    100,    108,    117,
     124,    126,    126,    127,
     126,    125,    124,    128,
     137,    148,    160,    172,
     184,    189,    188,    183,
     173,    159,    142,    126,
     113,    105,    101,    104,
     111,    121,    132,    148,
     170,    145,    168,    191,
     211,    228,    242,    248,
     244,    227,    201,    169,
     136,    107,     88,     82,
      86,     97,    111,    122,
     130,    133,    131,    123,
     114,    108,    106,    106,
     108,    109,    111,    113,
     112,    109,    105,    102,
      97,     92,     89,     87,
      88,     92,     99,    108,
     119,    130,    138,    144,
     147,    147,    143,    140,
     136,    132,    127,    119,
     105,     88,     70,     53,
      40,     38,     48,     74,
     111,    153,    194,    227,
     248,    255,    249,    233,
     214,    194,    175,    162,
     152,    144,    136,    127,
     116,    106,    100,     97,
     100,    108,    120,    131,
     140,    143,    142,    137,
     129,    119,    111,    105,
     102,    103,    104,    107,
     111,    114,    114,    113,
     111,    110,    107,    105,
     105,    109,    118,    131,
     146,    162,    173,    177,
     172,    158,    135,    109,
      83,     62,     51,     49,
      57,     71,     88,    105,
     123,    145,    135,    157,
     179,    200,    221,    239,
     250,    249,    233,    206,
     171,    137,    106,     85,
      77,     83,     98,    114,
     130,    140,    146,    145,
     139,    131,    126,    125,
     126,    128,    130,    132,
     133,    131,    126,    121,
     114,    106,     97,     90,
      87,     87,     92,    101,
     113,    128,    141,    150,
     154,    154,    149,    142,
     135,    129,    125,    120,
     113,    100,     82,     61,
      40,     25,     19,     28,
      55,     96,    142,    189,
     225,    248,    255,    247,
     229,    207,    186,    168,
     156,    148,    143,    136,
     127,    115,    105,     97,
      93,     96,    106,    120,
     135,    148,    156,    157,
     154,    145,    134,    124,
     115,    110,    107,    106,
     106,    109,    111,    111,
     110,    110,    109,    106,
     102,    101,    103,    113,
     126,    143,    161,    174,
     179,    173,    154,    127,
      95,     64,     41,     28,
      28,     40,     58,     78,
      97,    115,    135,    125,
     141,    161,    182,    207,
     230,    247,    255,    247,
     225,    190,    147,    104,
      68,     44,     35,     40,
      55,     76,     97,    115,
     125,    129,    128,    126,
     126,    131,    140,    151,
     163,    171,    170,    159,
     138,    112,     86,     66,
      56,     60,     77,    106,
     140,    173,    199,    214,
     217,    208,    191,    171,
     152,    137,    128,    122,
     117,    108,     92,     71,
      46,     23,      6,      1,
      12,     41,     84,    134,
     182,    220,    244,    253,
     246,    228,    205,    182,
     163,    150,    142,    138,
     131,    119,    103,     82,
      62,     44,     35,     40,
      59,     88,    122,    155,
     181,    196,    197,    184,
     163,    137,    114,     95,
      87,     90,     99,    109,
     119,    124,    126,    125,
     122,    122,    128,    142,
     162,    184,    205,    219,
     221,    210,    184,    147,
     104,     64,     31,     12,
       7,     15,     32,     54,
      75,     94,    109,    125,
};
const uint8_t wt_map[] = {
     176,    255,    202,    193,
     121,    122,    124,    123,
      95,    197,      3,      8,
       9,     35,     34,     32,
     177,     30,    201,    185,
     186,     83,     80,     54,
     195,    196,     42,     41,
      36,     37,     38,     33,
     178,     31,    199,    184,
     165,     82,     79,     86,
      78,     45,     46,     47,
      43,     44,     40,     39,
     192,    198,    200,    183,
     164,     81,     25,     26,
     126,    125,      0,      1,
       2,      6,     23,     22,
     191,    179,    227,    228,
     166,     84,     85,     14,
     127,    128,    129,    130,
     131,    132,      7,    209,
     190,    134,    226,    229,
     253,    204,     55,     12,
      15,     10,     11,    163,
     162,    167,    171,    208,
     189,    133,    225,    230,
     254,    216,    215,    214,
     157,    158,    159,    160,
     161,    168,    169,    170,
     174,    234,    233,    231,
     218,    217,    206,    205,
     213,     56,    244,    242,
     116,    115,    114,    243,
     188,    235,    238,    232,
     219,    207,    210,    211,
     194,    145,    203,    245,
     111,    112,    113,    108,
      63,     27,    156,    237,
       5,    149,    148,    246,
     143,    144,    212,     52,
     110,    109,    104,    172,
     187,     28,     17,    236,
     120,    150,    147,     50,
     142,    141,     62,     60,
      59,    102,    103,     57,
     182,     29,     13,    239,
     119,    151,    135,    138,
     139,    140,    248,     99,
      98,    100,    101,     61,
      21,     19,      4,    240,
     118,    152,    136,    137,
     250,    251,    249,    247,
      96,     53,    105,    106,
     175,     24,     16,    241,
     117,    153,    154,    155,
     146,     51,     94,     93,
      49,     97,     58,    107,
     181,    252,     18,    220,
     221,     64,     89,     90,
      92,     91,     88,     87,
      65,     66,     67,     68,
     173,     20,    224,    223,
     222,     48,    180,     77,
      76,     75,     74,     73,
      72,     71,     70,     69,
};
const uint8_t wt_code[] = {
       5,      0,    132,      0,
      20,     16,     20,     81,
      16,     65,      8,     17,
       4,     65,     17,      5,
       0,     69,      1,     88,
      17,     25,      0,    132,
     144,      0,     64,     80,
       0,     21,    148,      0,
      65,     17,      5,    129,
       4,      1,     68,      1,
      65,      5,     65,     17,
      21,      4,     20,     16,
       4,    128,     80,      0,
       4,     64,     20,     21,
       0,      4,      1,     20,
      16,      9,     17,     68,
      17,      5,     17,      4,
       1,    132,      0,     65,
      16,     20,     81,    145,
       1,     81,     17,     21,
      16,     21,     81,      1,
      20,     16,     21,     68,
      16,     16,    144,      5,
       0,    132,     17,      4,
      65,     68,    129,     65,
      20,     81,    129,      0,
       4,     20,     65,    129,
      17,      5,     80,      5,
      64,     64,      1,    132,
      64,     65,     17,     68,
      65,     64,     17,      5,
      80,      0,      4,      1,
      20,     16,     25,     64,
       4,     17,      4,     20,
      16,     84,     20,    128,
       5,      0,    132,      0,
      65,     80,      1,     65,
      24,     81,      0,    129,
      80,    129,     17,      5,
      64,      1,     65,     64,
      16,     64,     16,     64,
      17,      5,     64,      1,
      65,     17,      5,     17,
     132,      5,     80,      1,
      64,     20,      1,     16,
      25,     81,      0,     80,
       4,    129,     16,      5,
       0,      4,     20,     16,
       4,      0,      8,     16,
       4,      1,     20,     81,
      16,     69,      1,      8,
      21,     72,      0,     80,
       4,     65,      1,      0,
      80,      1,     65,      0,
      64,     80,     65,     17,
       4,     20,     20,    129,
       1,      4,     21,     20,
      16,    132,     17,      5,
      16,      8,      1,      4,
       4,     64,      0,      4,
       5,     17,     21,     81,
       0,      5,    128,      0,
      65,     64,     17,      4,
      80,     16,     68,      0,
       4,      1,      1,     89,
      17,     21,     64,     80,
       1,    145,      0,     68,
      20,     69,      1,     88,
      17,     25,      0,    132,
      16,     65,     80,      1,
      81,      1,      4,     21,
      16,     21,      1,     16,
       9,     21,     20,    128,
       4,      0,     69,     16,
      20,     16,     21,     81,
      65,      8,     20,      4,
      64,     64,      1,    132,
      21,    145,      1,     64,
      24,     64,     16,      4,
      80,     65,      1,      9,
       5,      1,      4,     65,
       4,     21,     64,      1,
      81,     16,     16,    144,
      17,      4,      1,      4,
       5,     65,     20,    128,
      80,      9,      5,      1,
       4,      1,     88,      0,
      64,      8,     81,     80,
       1,     81,     17,      0,
     145,     17,     69,      1,
       4,      4,     17,      4,
       9,     21,     20,    128,
      81,     84,     17,     64,
      17,     68,     16,      8,
      16,     20,     81,      0,
      21,     20,    128,    144,
       5,     21,      0,      4,
       1,    132,     64,    129,
       1,     64,     80,      1,
      65,      1,      5,      1,
       1,      9,      9,     81,
      64,     17,     64,     20,
      68,      1,     24,      0,
       4,      5,     65,     69,
      65,      1,     68,     16,
       8,     81,      4,      5,
      65,     64,     65,     17,
       8,     64,      0,     64,
      80,      1,     68,      0,
      24,      5,     85,      4,
      65,     64,     80,     16,
      64,     64,     17,     64,
      20,    128,     80,     65,
       1,     24,     69,     21,
       1,     20,     65,      4,
     129,     17,      5,     65,
       1,     68,     16,     68,
       1,     24,      0,     20,
      81,      0,      5,     65,
       1,     64,     17,     21,
       4,      1,      1,     25,
      81,     20,     64,     64,
      16,     65,     80,     17,
       0,    145,      1,     65,
       0,     64,     20,     16,
      20,     80,     64,     65,
      17,     88,      0,     64,
      24,      0,      4,      5,
      65,     17,      0,    145,
      17,      4,     65,      4,
     145,     65,      4,     65,
       0,     80,     17,      5,
      80,      0,      4,      1,
       1,     89,      0,     64,
       4,     65,      8,     81,
      80,      0,     88,      0,
      64,     64,      0,      8,
      17,    133,     65,      8,
      64,     80,     64,      0,
      24,      1,      5,     80,
      17,      5,      8,     21,
       0,     20,     81,      0,
     149,      5,      0,    132,
       0,     20,     16,     20,
      81,     16,     65,     24,
      16,      4,     65,     17,
       5,     81,      1,     20,
      17,      0,     88,      0,
      64,     20,     16,      9,
       5,      1,      4,      1,
       8,     81,     17,      5,
      65,     24,     65,     16,
      64,     80,      0,      4,
      64,      4,    128,     80,
      65,      1,      8,     64,
       5,      5,     65,     20,
     128,     80,     25,     16,
      21,     81,      0,     21,
       1,     16,      9,     64,
      64,     16,     64,     20,
      84,     16,     16,    144,
      20,      0,     21,     16,
      68,     16,     65,      9,
      16,     20,     81,     16,
       8,     25,     16,     20,
      81,      0,      5,     17,
       4,      1,     68,      1,
       0,     80,      5,      0,
       4,     65,    132,     65,
       4,      5,     65,      4,
     129,      5,      0,    132,
       1,     20,     81,     17,
       5,     65,     17,      0,
     145,     16,      5,      0,
      20,    145,     16,     69,
      16,    132,     20,     20,
      65,     80,     17,     68,
       1,      8,     20,      8,
      25,     20,     81,      0,
      68,      1,      0,     80,
      16,     65,     64,      1,
      65,      1,      5,     20,
      20,    129,      1,     65,
      17,     21,     84,      4,
      64,     21,      1,     16,
       9,     64,     68,     64,
      65,     17,      8,      0,
      20,     81,     16,      9,
      16,      4,      5,    129,
       5,      0,     68,      1,
     145,      1,     65,     17,
       5,     80,     16,     64,
       1,      8,     16,      4,
       1,      4,     20,     16,
      20,    144,     64,      9,
      21,     16,      4,     65,
      17,      5,     64,      0,
      88,      0,     64,      8,
      65,     17,     21,     81,
      81,     16,     16,    144,
     144,      0,      4,     80,
       1,     20,     64,     20,
      24,     16,      4,      0,
      20,     81,     16,      4,
      80,      0,     24,     81,
       0,    129,     16,      5,
       0,     20,     81,     17,
       5,     17,      4,    128,
      80,     65,      1,     24,
      16,      5,     20,      0,
      20,      0,      4,      1,
      68,      0,     24,      0,
       4,     80,     16,      4,
      64,      9,     16,      4,
      65,     17,     21,      9,
      25,     80,     64,     65,
       1,     24,     81,      0,
     129,     16,     81,      0,
      21,     80,     24,      0,
      20,     81,      1,    144,
      80,     89,      0,     64,
       8,     16,      4,      5,
     129,     20,     20,    128,
      17,      5,     16,     88,
       0,     64,      8,     65,
      17,     21,     81,     81,
      16,     16,    144,      4,
       0,     69,     16,     20,
      16,     21,      0,     20,
      81,      1,     20,     16,
      25,      1,      5,     80,
      64,     89,     80,     16,
      64,      1,      5,     20,
      20,     65,     16,     16,
     144,      5,      0,    132,
       1,     64,     80,     16,
      84,     20,     20,     64,
       4,    129,      5,      4,
      17,     84,     17,     69,
       1,     24,      0,      4,
      21,     16,     20,     80,
      17,      0,    145,     16,
       5,     84,      0,    128,
       5,      0,    132,      1,
       4,     65,     64,     65,
       1,      5,     64,     16,
      16,    144,     16,      5,
       0,      4,     85,     16,
      17,     65,      0,      8,
       0,      4,      5,     17,
       4,     17,     68,     65,
      64,     65,     17,      4,
      16,      1,     24,     81,
      20,     64,     64,     16,
      65,    144,     16,      5,
       0,      4,      4,     64,
      16,     65,      4,     65,
      20,     64,     16,     16,
     144,      5,      0,      4,
      85,     16,     17,     65,
       0,     24,      0,     20,
      16,      9,     64,     21,
      81,      1,     65,      1,
       5,      0,      4,      5,
      80,      0,     68,     65,
      16,     16,     80,    255,
};


const uint8_t* wt_table[] = {
  wt_waves,
  wt_map,
  wt_code,
};

const uint16_t chr_characters[] = {
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,    272,   1280,  29012,
   46420,   9352,  39716,    256,
   39936,  61440,    952,    340,
       8,     68,     16,    136,
   64648,  24704,  55364,  61504,
   25668,  46148,  48196,  32912,
   64580,  62532,    272,    264,
     160,   4164,    520,  33936,
   64592,  60484,  61776,  39936,
   61712,  40004,  35908,  48192,
   27716,  37136,  30720,   3236,
    7168,  28288,  28192,  64512,
   52292,  64544,  52324,  46148,
   33040,  31744,   3208,  27688,
     680,    656,  37000,  39936,
     544,  61440,     40,   4096,
     512,  63556,   7204,   6212,
   28744,  39940,  35844,  62016,
   11332,   4180,  12352,    432,
     272,  10324,   8272,  14404,
   35972,  50276,     80,  45632,
    7172,  14336,   2056,  10280,
     680,  29248,   4108,  37388,
     272,  37088,     68,      0,
   24736,   3592,  33408,   4136,
     224,    524,    896,     56,
   24712,  18568,     24,     40,
   60416,  10308,   4368,   3616,
   64520,  64516,  65024,  64768,
   64640,  64576,  64544,  64528,
   49152,  57344,  28672,  14336,
    6144,   7168,  35840,  50176,
   65532,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,      0,
       0,      0,      0,  65532,
};


const uint16_t* char_table[] = {
  chr_characters,
};


}  // namespace braids
